Skip to content

Maxterm expansion: the canonical product of sums (ΠM)

Maxterm expansion rewrites a formula as the AND of one OR term per truth-table row where it is false: the canonical product of sums, written ΠM(…).

Engine name: Maxterm expansionFR: Développement en maxtermesDE: Maxterm-Entwicklung

The formula is rewritten as the AND of one OR term (maxterm) for each truth-table row where it is false.

A maxterm is an OR of every variable, plain or negated, arranged to be false on exactly one row. AND-ing the maxterms of the false rows reproduces the function, because each one rules out one false row and lets every other row through. The example A AND B = ΠM(A, B; 0, 1, 2) rules out the three rows where the AND is false and keeps row 3.

Minterms and maxterms are complementary descriptions: every row is either a minterm of the function or a maxterm of it, never both, so Σm and ΠM over the same order list complementary sets of row numbers. The comparison page puts the two side by side on one function, and the CNF converter uses the maxterm form when that is the shorter route.

The convention for row numbers and the signs inside a maxterm (a variable appears negated where the row has it TRUE) are the engine's, and the proof below checks the identity on every row.

Statement

A AND B = ΠM(A, B; 0, 1, 2) = (A OR B) AND (A OR NOT B) AND (NOT A OR B)

Proof by truth table: A AND B = ΠM(A, B; 0, 1, 2) = (A OR B) AND (A OR NOT B) AND (NOT A OR B)

A AND B = ΠM(A, B; 0, 1, 2) = (A OR B) AND (A OR NOT B) AND (NOT A OR B)
#ABlhsmid1rhs
0FALSEFALSEFALSEFALSEFALSE
1FALSETRUEFALSEFALSEFALSE
2TRUEFALSEFALSEFALSEFALSE
3TRUETRUETRUETRUETRUE
lhs ≡ mid1 holds · lhs and mid1 agree on every assignment. · Exhaustively checked and solver cross-checked · 4 rows
mid1 ≡ rhs holds · mid1 and rhs agree on every assignment. · Exhaustively checked and solver cross-checked · 4 rows

The same law in four notations

WordsA AND B
ProgrammingA && B
MathematicalA ∧ B
AlgebraA·B
LaTeXA \cdot B
WordsΠM(A, B; 0, 1, 2)
ProgrammingΠM(A, B; 0, 1, 2)
MathematicalΠM(A, B; 0, 1, 2)
AlgebraΠM(A, B; 0, 1, 2)
LaTeX\prod M_{(A, B)}(0, 1, 2)
Words(A OR B) AND (A OR NOT B) AND (NOT A OR B)
Programming(A || B) && (A || !B) && (!A || B)
Mathematical(A ∨ B) ∧ (A ∨ ¬B) ∧ (¬A ∨ B)
Algebra(A + B)·(A + B')·(A' + B)
LaTeX\left(A + B\right) \cdot \left(A + \overline{B}\right) \cdot \left(\overline{A} + B\right)
A AND B = ΠM(A, B; 0, 1, 2) = (A OR B) AND (A OR NOT B) AND (NOT A OR B) A AND B = ΠM(A, B; 0, 1, 2) = (A OR B) AND (A OR NOT B) AND (NOT A OR B) A B lhsPRIMARY mid1 rhs AND ΠM(0,1,2)AB AND OR OR NOT OR NOT
A AND B = ΠM(A, B; 0, 1, 2) = (A OR B) AND (A OR NOT B) AND (NOT A OR B) A AND B = ΠM(A, B; 0, 1, 2) = (A OR B) AND (A OR NOT B) AND (NOT A OR B) A B lhsPRIMARY mid1 rhs AND ΠM(0,1,2)AB AND OR OR NOT OR NOT

The common slip

Building a maxterm with the signs of a minterm. The maxterm for row 3 of two variables (A = TRUE, B = TRUE) is NOT A OR NOT B, which is false only there; A OR B is the maxterm for row 0.

Questions

When is the product of sums shorter than the sum of products?

When the function is true on most rows: there are then few false rows and few maxterms. A function true on all but one row is a single maxterm but has 2 to the n minus 1 minterms.

Related

Lesson that teaches this

Tools

Practice

See also

Laws

Generated from the Tangibool engine, semantics tangibool-semantics/1, engine 1.0.0, build . Every table, map, simplification and verdict on these pages was computed by the Tangibool engine when the site was built, and every claim was re-checked by the same exact checker the app uses. Limits are stated where they apply. © 2026 Foreranger LTD.