BooleanMinimize

BooleanMinimize[expr]
finds a minimal-length disjunctive normal form representation of expr.

BooleanMinimize[expr, form]
finds a minimal-length representation for expr in the specified form.

BooleanMinimize[expr, form, cond]
finds a minimal-length expression in the specified form that is equivalent to expr when cond is true.

Details and OptionsDetails 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.

ExamplesExamplesopen allclose all

Basic Examples (2)Basic Examples (2)

Find the minimal disjunctive normal form:

In[1]:=
Click for copyable input
Out[1]=

A Boolean counting function in disjunctive normal form:

In[1]:=
Click for copyable input
Out[1]=

Find a minimal disjunctive normal form:

In[2]:=
Click for copyable input
Out[2]=
New in 7
New to Mathematica? Find your learning path »
Have a question? Ask support »