BooleanMinimize
✖
BooleanMinimize
finds a minimal-length expression in the specified form that is equivalent to expr when cond is true.
Details and Options

- BooleanMinimize[expr,form] always produces an expression equivalent to expr.
- Available forms are:
-
"DNF","SOP" disjunctive normal form, sum of products "CNF","POS" conjunctive normal form, product of sums "ANF" algebraic normal form "NOR" two-level Nor and Not "NAND" two-level Nand and Not "AND" two-level And and Not "OR" two-level Or and Not - In general, there may be several minimal-length representations for a particular expression in a certain form. BooleanMinimize gives one of them.
- BooleanMinimize supports a Method option that specifies the detailed method to use.
Examples
open allclose allBasic Examples (2)Summary of the most common use cases
Find the minimal disjunctive normal form:

https://wolfram.com/xid/0n4uf2pv9lm-dfe0db

A Boolean counting function in disjunctive normal form:

https://wolfram.com/xid/0n4uf2pv9lm-k9rnoy

Find a minimal disjunctive normal form:

https://wolfram.com/xid/0n4uf2pv9lm-c1dwp6

Scope (2)Survey of the scope of standard use cases
A Boolean function of five variables represented in DNF:

https://wolfram.com/xid/0n4uf2pv9lm-qtk6f4


https://wolfram.com/xid/0n4uf2pv9lm-uem3e


https://wolfram.com/xid/0n4uf2pv9lm-b2uhck


https://wolfram.com/xid/0n4uf2pv9lm-kaaiam


https://wolfram.com/xid/0n4uf2pv9lm-bmu9m


https://wolfram.com/xid/0n4uf2pv9lm-fhbshf


https://wolfram.com/xid/0n4uf2pv9lm-cqtm3d

Show that all the forms are equivalent:

https://wolfram.com/xid/0n4uf2pv9lm-jgvn56

Minimize a Boolean function using a "care set" or condition:

https://wolfram.com/xid/0n4uf2pv9lm-gf665x


https://wolfram.com/xid/0n4uf2pv9lm-sl2ga


https://wolfram.com/xid/0n4uf2pv9lm-wcxnn


https://wolfram.com/xid/0n4uf2pv9lm-fi8llh

The resulting forms are equivalent when cond is true:

https://wolfram.com/xid/0n4uf2pv9lm-eclid5

They are not equivalent without the condition:

https://wolfram.com/xid/0n4uf2pv9lm-hpcajv

Typically the forms are longer without conditions:

https://wolfram.com/xid/0n4uf2pv9lm-hzerfn


https://wolfram.com/xid/0n4uf2pv9lm-dgi52e

Applications (1)Sample problems that can be solved with this function
Distribution of Minimal Size (1)
Compute the minimal DNF representation:

https://wolfram.com/xid/0n4uf2pv9lm-dvc206

https://wolfram.com/xid/0n4uf2pv9lm-b5casr
Plot the size as a function of index:

https://wolfram.com/xid/0n4uf2pv9lm-e8exij


https://wolfram.com/xid/0n4uf2pv9lm-fy7gg2

Compute the size for the first 1000 four-variable functions:

https://wolfram.com/xid/0n4uf2pv9lm-ferrtc

https://wolfram.com/xid/0n4uf2pv9lm-ed3hut


https://wolfram.com/xid/0n4uf2pv9lm-ct3953

Properties & Relations (4)Properties of the function, and connections to other functions
The output from BooleanMinimize is equivalent to its input:

https://wolfram.com/xid/0n4uf2pv9lm-bky3nb


https://wolfram.com/xid/0n4uf2pv9lm-qitwn


https://wolfram.com/xid/0n4uf2pv9lm-bjs0y1

The output from BooleanMinimize with condition is conditionally equivalent to its input:

https://wolfram.com/xid/0n4uf2pv9lm-gmbo7y


https://wolfram.com/xid/0n4uf2pv9lm-g7x2t

https://wolfram.com/xid/0n4uf2pv9lm-6w4ro

The forms f and g are equivalent when cond is true:

https://wolfram.com/xid/0n4uf2pv9lm-m7i4l

They are not equivalent on their own:

https://wolfram.com/xid/0n4uf2pv9lm-kydu5

The minimal lengths "DNF", "CNF", "NAND", or "NOR" are not unique:

https://wolfram.com/xid/0n4uf2pv9lm-20ws

BooleanMinimize will produce an expression of length 3:

https://wolfram.com/xid/0n4uf2pv9lm-kae824

Another equivalent expression of length 3 is given by exchanging b and c:

https://wolfram.com/xid/0n4uf2pv9lm-dbkter


https://wolfram.com/xid/0n4uf2pv9lm-teehh

Similar examples for "CNF", "NAND", and "NOR":

https://wolfram.com/xid/0n4uf2pv9lm-dau3m9


https://wolfram.com/xid/0n4uf2pv9lm-j1xxhm


https://wolfram.com/xid/0n4uf2pv9lm-ejjvk

Use BooleanConvert when the minimal length form is not required:

https://wolfram.com/xid/0n4uf2pv9lm-fr8ncb


https://wolfram.com/xid/0n4uf2pv9lm-geoabe

BooleanConvert can also convert to additional forms:

https://wolfram.com/xid/0n4uf2pv9lm-f2nes

Wolfram Research (2008), BooleanMinimize, Wolfram Language function, https://reference.wolfram.com/language/ref/BooleanMinimize.html.
Text
Wolfram Research (2008), BooleanMinimize, Wolfram Language function, https://reference.wolfram.com/language/ref/BooleanMinimize.html.
Wolfram Research (2008), BooleanMinimize, Wolfram Language function, https://reference.wolfram.com/language/ref/BooleanMinimize.html.
CMS
Wolfram Language. 2008. "BooleanMinimize." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BooleanMinimize.html.
Wolfram Language. 2008. "BooleanMinimize." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BooleanMinimize.html.
APA
Wolfram Language. (2008). BooleanMinimize. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BooleanMinimize.html
Wolfram Language. (2008). BooleanMinimize. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BooleanMinimize.html
BibTeX
@misc{reference.wolfram_2025_booleanminimize, author="Wolfram Research", title="{BooleanMinimize}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/BooleanMinimize.html}", note=[Accessed: 15-April-2025
]}
BibLaTeX
@online{reference.wolfram_2025_booleanminimize, organization={Wolfram Research}, title={BooleanMinimize}, year={2008}, url={https://reference.wolfram.com/language/ref/BooleanMinimize.html}, note=[Accessed: 15-April-2025
]}