A minterm is an AND of every input variable, with each variable appearing exactly once (either complemented or not). A maxterm is the dual: an OR of every input variable, again with each appearing once.
For variables there are minterms — one for each row of the truth table. Same for maxterms. Each minterm is true for exactly one input combination (row ); each maxterm is false for exactly one input combination (row ).
The two are complements of each other: . They’re the atoms from which any Boolean Function can be built.
Minterms
A minterm is a product term whose value is for exactly one input row. To build the minterm for a given row, take each variable: if its row value is , write the variable; if its row value is , write its complement.
| Product term | Symbol | ||
|---|---|---|---|
| 0 | 0 | ||
| 0 | 1 | ||
| 1 | 0 | ||
| 1 | 1 |
Three-variable example: and .
The index in is the decimal value of the input row in binary. Row in three variables is — variables and are , is — giving .
If any one minterm is true, all the others are false. They partition the input space into disjoint cases.
Maxterms
A maxterm is a sum term whose value is for exactly one input row. The convention is opposite to minterms: if the row value is , write the complement; if it’s , write the variable as-is. (That’s the only way to get the sum to be zero on that row.)
| Sum term | Symbol | ||
|---|---|---|---|
| 0 | 0 | ||
| 0 | 1 | ||
| 1 | 0 | ||
| 1 | 1 |
Three-variable example: .
If any one maxterm is false, all the others are true.
Why this matters
Minterms feed into the sum-of-products canonical form: write the OR of every minterm where . Maxterms feed into the product-of-sums form: write the AND of every maxterm where . Either form gives a circuit you could build directly — usually wasteful, but it’s the starting point for minimization with Karnaugh Map or Boolean Algebra identities.
Worked example. Suppose — that is, for rows and for row . Then , and applying De Morgan’s Laws:
So the same function can be expressed as in minterm form or in maxterm form. They describe identical behavior, just from different angles — listing the rows where is true vs. listing the rows where is false.