Skip to content

BooleanMinimize

Find the minimal sum-of-products Boolean expression.

$ wo 'BooleanMinimize[True]'
True

The terms are written in descending order of their literal pattern, reading the variables left to right: a positive literal ranks above a negative one, and a variable that does not appear at all ranks below both.

$ wo 'BooleanMinimize[(a && b) || (!a && !b)]'
(a && b) || ( !a &&  !b)
$ wo 'BooleanMinimize[(a && b) || (b && c) || (a && c)]'
(a && b) || (a && c) || (b && c)
$ wo 'BooleanMinimize[Xor[a, b, c]]'
(a && b && c) || (a &&  !b &&  !c) || ( !a && b &&  !c) || ( !a &&  !b && c)