Skip to content

Maxterm: meaning and examples

A maxterm is an OR of every variable of a function, each plain or negated, so it is false on exactly one row of the truth table. A function is the AND of the maxterms of its false rows.

Maxterms are the dual of minterms. For variables A and B in that order, M0 is A OR B, false only on row 0; M3 is NOT A OR NOT B, false only on row 3. In a maxterm the variable is negated when its bit in the row number is 1, the opposite of the minterm convention, because the maxterm must be false on its own row. The AND of the maxterms of the false rows is the canonical product of sums, written ΠM(…), and in the engine's notation ΠM(A, B; 0, 3).

The artefact on this page is ΠM(A, B; 0, 3). Its 4-row table reads false, true, true, false: false on rows 0 and 3, exactly the maxterms listed, and true elsewhere. The minterm panel shows both canonical names side by side, f(A, B) = Σm(1, 2) and f(A, B) = ΠM(0, 3), and the two lists partition the four row numbers between them. The tautology check is violated with the counterexample A = FALSE, B = FALSE, row 0, the row that maxterm M0 excludes; the satisfiable check holds with the witness A = FALSE, B = TRUE.

Maxterms matter when the false rows are fewer than the true ones, since a product of sums is then shorter than the sum of products, and when the target is a conjunctive normal form for a SAT solver, whose input is clauses. In hardware they correspond to an OR-AND structure. The term is confused with a minterm (true on one row rather than false on one row) and with a clause in general, of which a maxterm is the special case mentioning every variable.

Example

f := ΠM(A, B; 0, 3) · output

Exact checks

Always true (tautology)? No Counterexample: A = F, B = F · Exhaustively checked and solver cross-checked · 1 rows
Always false (contradiction)? No Counterexample: A = F, B = T · Exhaustively checked and solver cross-checked · 2 rows
Can be true? Yes Example assignment: A = F, B = T · Exhaustively checked and solver cross-checked · 2 rows

Truth table (4 rows)

Maxterm: meaning and examples
#ABf
0FALSEFALSEFALSE
1FALSETRUETRUE
2TRUEFALSETRUE
3TRUETRUEFALSE

Plain-language reading

Beginnerf is true exactly when the truth-table row of (A, B) is none of the rows 0 and 3.
In every other case, f is false.
About the operators:
- ΠM lists the truth-table rows (maxterms) where the formula is false. Rows are numbered from 0 with the first listed input as the most significant bit.
Intermediatef is true exactly when the truth-table row of (A, B) is none of the rows 0 and 3.
In every other case, f is false.
Advancedf is true exactly when the truth-table row of (A, B) is none of the rows 0 and 3 [canonical product of maxterms (CNF)].
In every other case, f is false.
Formal notation: ΠM(A, B; 0, 3)

Minterms and maxterms

f(A, B) = Σm(1, 2)f(A, B) = ΠM(0, 3)

Variable order: A, B · 4 rows

The common slip

Negating the variables of a maxterm the minterm way. In M3 for (A, B), both bits are 1, so both variables are negated: NOT A OR NOT B, which is false only when both are true. Reading the 1 bits as plain variables gives M0 instead.

Questions

Why are the minterm and maxterm lists complementary?

Each row is either true or false. True rows go in the Σm list and false rows in the ΠM list, so together they name every row once. On this page the lists are 1, 2 and 0, 3, covering all four rows.

Related

Practice

See also

Glossary

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.