Create a

BooleanFunction with two arguments by indexing:

Compute its value for particular arguments:

The function remains unevaluated for symbolic arguments:

BooleanFunction can be used just like any other Boolean operator:

Any Boolean expression can be converted to a

BooleanFunction expression:

Including combinations of

BooleanFunction expressions:

A

BooleanFunction expression that is equivalent to

True or

False automatically simplifies:

BooleanFunction is a canonical representation, and equivalence can be tested using

SameQ:

Create a truth table in standard order:

Create an equivalent

BooleanFunction expression:

Show that they are equivalent:

Alternatively, show that the resulting truth tables are the same:

Create a complete list of truth rules:

Create the corresponding

BooleanFunction expression:

The ordering of truth rules for complete lists has no effect:

Use

to indicate "don't cares" in a truth table:

The resulting truth table matches the original specification:

Use

and

to indicate "don't cares" in truth rules:

The original rules completely specify the function and the resulting truth tables are identical:

Use lists of lists to indicate a vector-valued truth table:

The resulting output matches the original specification:

Use vector-valued truth rules:

The resulting truth rules match the original specification:

Truth tables can also be given using

in place of

False and

in place of

True:

The resulting truth tables are identical:

Convert any Boolean expression to a

BooleanFunction expression:

Show that they are equivalent:

Convert expressions involving any Boolean operators:

Show that they are equivalent:

Convert a

BooleanFunction expression to other standard forms:

A number of different standard forms:

As well as a truth table:

Or truth rules: