Skip to content

Minterms vs maxterms

A minterm names a TRUE row; a maxterm names a FALSE row. Every row is one or the other, so Σm(A, B, C; 2, 3, 6) and ΠM(A, B, C; 0, 1, 4, 5, 7) describe the same function, three minterms against five maxterms, and the Karnaugh map reduces it to two terms.

The function is TRUE on rows 2, 3 and 6 of eight. Its minterm expansion has three AND-terms, one per TRUE row, each listing every variable plain or negated; its maxterm expansion has five OR-clauses, one per FALSE row, each negating the variables that are TRUE on that row. The engine prints both lines, and the two index lists are complementary: 2, 3, 6 and 0, 1, 4, 5, 7 together are all eight rows.

Which expansion is shorter is a count of rows: three TRUE rows against five FALSE, so the minterm form wins here. A function TRUE on most rows would be the other way round. Neither canonical form is short in absolute terms; the Karnaugh map derives (NOT A AND B) OR (B AND NOT C), two prime implicants, and the gate counts the engine reports for the canonical expansion, thirty-five NAND and seventy-seven NOR, are the price of building without reducing.

The two words carry a convention that trips people: minterm m2 is the term TRUE only on row 2, NOT A AND B AND NOT C; maxterm M2 is the clause FALSE only on row 2, A OR NOT B OR C, the negation of m2. The signs inside a maxterm are the opposite of the row's values, which is why the lesson on normal forms spends a step on each.

Example

f := Σm(A, B, C; 2, 3, 6) · output

Exact checks

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

Truth table (8 rows)

Minterms vs maxterms
#ABCf
0FALSEFALSEFALSEFALSE
1FALSEFALSETRUEFALSE
2FALSETRUEFALSETRUE
3FALSETRUETRUETRUE
4TRUEFALSEFALSEFALSE
5TRUEFALSETRUEFALSE
6TRUETRUEFALSETRUE
7TRUETRUETRUEFALSE

Logic diagram

Minterms vs maxterms Minterms vs maxterms A B C f Σm(2,3,6)ABC
Minterms vs maxterms Minterms vs maxterms A B C f Σm(2,3,6)ABC

Karnaugh map

A \ BC
00
01
11
10
0
0m0
0m1
1m3
1m2
1
0m4
0m5
0m7
1m6
  1. cells m2, m3NOT A AND B
  2. cells m2, m6B AND NOT C
(NOT A AND B) OR (B AND NOT C) · Derived (NOT A AND B) OR (B AND NOT C). Exactly equivalent on every assignment.

Minterms and maxterms

f(A, B, C) = Σm(2, 3, 6)f(A, B, C) = ΠM(0, 1, 4, 5, 7)

Variable order: A, B, C · 8 rows

Normal forms

Conjunctive normal form (CNF)

(A OR B OR C) AND (A OR B OR NOT C) AND (NOT A OR B OR C) AND (NOT A OR B OR NOT C) AND (NOT A OR NOT B OR NOT C)

5 clauses, 15 literals · complete · Minterm expansion ×1

Disjunctive normal form (DNF)

(A AND B AND NOT C) OR (NOT A AND B AND C) OR (NOT A AND B AND NOT C)

3 terms, 9 literals · complete · Minterm expansion ×1

NAND-only and NOR-only

NAND-only form

NAND(NAND(NAND(NAND(NAND(NAND(NAND(A, A), B), NAND(NAND(A, A), B)), NAND(C, C)), NAND(NAND(NAND(NAND(A, A), B), NAND(NAND(A, A), B)), C)), NAND(NAND(NAND(NAND(NAND(A, A), B), NAND(NAND(A, A), B)), NAND(C, C)), NAND(NAND(NAND(NAND(A, A), B), NAND(NAND(A, A), B)), C))), NAND(NAND(NAND(A, B), NAND(A, B)), NAND(C, C)))

35 gates · verified equivalent on every row

NOR-only form

NOR(NOR(NOR(NOR(NOR(NOR(NOR(A, NOR(B, B)), NOR(A, NOR(B, B))), C), NOR(NOR(NOR(A, NOR(B, B)), NOR(A, NOR(B, B))), NOR(C, C))), NOR(NOR(NOR(NOR(A, NOR(B, B)), NOR(A, NOR(B, B))), C), NOR(NOR(NOR(A, NOR(B, B)), NOR(A, NOR(B, B))), NOR(C, C)))), NOR(NOR(NOR(NOR(A, A), NOR(B, B)), NOR(NOR(A, A), NOR(B, B))), C)), NOR(NOR(NOR(NOR(NOR(NOR(A, NOR(B, B)), NOR(A, NOR(B, B))), C), NOR(NOR(NOR(A, NOR(B, B)), NOR(A, NOR(B, B))), NOR(C, C))), NOR(NOR(NOR(NOR(A, NOR(B, B)), NOR(A, NOR(B, B))), C), NOR(NOR(NOR(A, NOR(B, B)), NOR(A, NOR(B, B))), NOR(C, C)))), NOR(NOR(NOR(NOR(A, A), NOR(B, B)), NOR(NOR(A, A), NOR(B, B))), C)))

77 gates · verified equivalent on every row

The common slip

Building a maxterm with the signs of a minterm. For row 2 (A FALSE, B TRUE, C FALSE) the minterm is NOT A AND B AND NOT C and the maxterm is A OR NOT B OR C; using the minterm's signs in an OR gives a clause that is FALSE on row 5 instead.

Questions

Why Σ and Π?

Σ is a sum, the OR of the minterms, and Π a product, the AND of the maxterms, in the algebra notation where OR is + and AND is ·. The engine accepts minterms(…) and maxterms(…) as plain-text spellings.

Can I enter either form directly?

Yes: Σm(A, B, C; 2, 3, 6) and ΠM(A, B, C; 0, 1, 4, 5, 7) are both accepted formulas, with the variable order inside the brackets fixing which row each index names.

Related

Practice

See also

Compare

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.