BooleanConvert

BooleanConvert[expr]

converts the Boolean expression expr to disjunctive normal form.

BooleanConvert[expr,form]

converts the Boolean expression expr to the specified form.

BooleanConvert[expr,form,cond]

finds an expression in the specified form that is equivalent to expr when cond is true.

Details and Options

  • BooleanConvert[expr,form] will produce an expression equivalent to expr.
  • Available forms are:
  • "DNF","SOP"disjunctive normal form, sum of products
    "CNF","POS"conjunctive normal form, product of sums
    "ESOP"exclusive sum of products
    "ANF"algebraic normal form
    "NOR"two-level Nor and Not
    "NAND"two-level Nand and Not
    "BinaryNOR", "NOR2"two-argument Nor
    "BinaryNAND", "NAND2"two-argument Nand
    "AND"two-level And and Not
    "OR"two-level Or and Not
    "IMPLIES"Implies and Not
    "ITE","IF"If and constants
    "BFF"BooleanFunction form
    "BDT"Boolean decision tree
  • The expression expr can contain any Boolean or logical functions, including BooleanFunction, BooleanCountingFunction, etc.
  • BooleanConvert[bf,form] converts the internal form of a pure BooleanFunction object.
  • BooleanConvert supports a Method option that specifies the detailed method to use.

Examples

open allclose all

Basic Examples  (3)

Convert a Boolean expression to disjunctive normal form:

Convert xy to some common forms:

Convert xyz using the condition that x(yz) is true:

Show that the output is equivalent to the input when x(yz):

Scope  (2)

Convert a Boolean expression to different forms:

Disjunctive normal form:

Conjunctive normal form:

Exclusive sum of products:

Algebraic normal form:

Two-level Nand and Not:

Two-level Nor and Not:

Two-argument Nand:

Two-argument Nor:

Two-level And and Not:

Two-level Or and Not:

Implies and Not:

If and constants:

Boolean function form:

Boolean decision tree:

Show that they are all equivalent:

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

The resulting forms are equivalent when cond is true:

They are not equivalent without the condition:

Typically the forms are longer without conditions:

Properties & Relations  (3)

The output from BooleanConvert is equivalent to its input:

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

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

They are not equivalent on their own:

Use BooleanMinimize to get the minimal length form:

The forms are equivalent:

Neat Examples  (1)

Wolfram Research (2008), BooleanConvert, Wolfram Language function, https://reference.wolfram.com/language/ref/BooleanConvert.html (updated 2024).

Text

Wolfram Research (2008), BooleanConvert, Wolfram Language function, https://reference.wolfram.com/language/ref/BooleanConvert.html (updated 2024).

CMS

Wolfram Language. 2008. "BooleanConvert." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/BooleanConvert.html.

APA

Wolfram Language. (2008). BooleanConvert. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BooleanConvert.html

BibTeX

@misc{reference.wolfram_2024_booleanconvert, author="Wolfram Research", title="{BooleanConvert}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/BooleanConvert.html}", note=[Accessed: 12-December-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_booleanconvert, organization={Wolfram Research}, title={BooleanConvert}, year={2024}, url={https://reference.wolfram.com/language/ref/BooleanConvert.html}, note=[Accessed: 12-December-2024 ]}