Skip to content
BetterDL

Maxterm

Also called: maxterms, canonical sum term, standard sum term, max term

A sum (OR) term containing every variable exactly once, which is 0 on exactly one row of the truth table. Mᵢ is the maxterm for row i.

A maxterm is an OR of all n variables, each appearing once, plain or barred. Because a sum is 0 only when every literal is 0, a maxterm is 0 on exactly one row and 1 on all the others. Mᵢ names the maxterm that is 0 on row i.

Building Mᵢ: write i in binary with n bits (A is the most significant bit). Then:

  • a 0 bit gives the plain variable,
  • a 1 bit gives the barred variable.

That is the opposite of a minterm. The reason: each literal must be 0 on row i, and a plain A is 0 only when A = 0.

The one-line rule: a minterm matches its row; a maxterm opposes it. In fact Mᵢ is the complement of mᵢ, by de morgans laws.

Maxterms are the building blocks of the canonical POS. ANDing one maxterm for each row where F = 0 reproduces the truth table exactly; see product of maxterms.

Self-check that never fails: plug the row into your sum. You should get 0 + 0 + … + 0.

0001
0011
0100
0111
1001
1011
1101
1111

Worked examples

Example

Building M2 for three inputs

Write maxterm M2 for inputs A, B, C.

  1. 1.

    2 in three bits is 010: A = 0, B = 1, C = 0.

  2. 2.

    Oppose each bit: A = 0 → A, B = 1 → , C = 0 → C.

  3. 3.

    M2 = .

  4. 4.

    Check row 010: 0 + 0 + 0 = 0. Any other row changes a bit, which makes that literal 1, so the sum is 1. The table above shows a single 0 at row 2.

Example

Four inputs, and reading back

Write M13 for inputs A, B, C, D, then find the index of .

  1. 1.

    13 = 1101. Oppose each bit: .

  2. 2.

    Reading back: find the row that makes every literal 0. A = 0, B = 0, C = 1, D = 1.

  3. 3.

    That is 0011 = 3, so is M3.

  4. 4.

    Reading it like a minterm would wrongly give 1100 = 12, the row with every bit flipped.

Common mistakes

  • Using minterm polarity (1 → plain). That lands on the bit-flipped row: for M6 it gives , which is M1.

  • Forgetting to pad the index to n bits. With four inputs, M2 is 0010, not 10.

  • Thinking a maxterm is 1 on just one row. It is 0 on just one row.

Practice Maxterm

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Maxterm is taught in Boolean Simplification.