Skip to content
BetterDL

Canonical form

Also called: canonical forms, canonical expression, Boolean canonical form

A standard way of writing a Boolean function so that each function has exactly one such expression: the sum of minterms or the product of maxterms.

The same function can be written as endless different expressions. A canonical form fixes one standard way to write it, so that each function has exactly one canonical expression. There are two:

  • Canonical SOP (sum of minterms, Σm): one minterm for each row where F = 1, ORed together.
  • Canonical POS (product of maxterms, ΠM): one maxterm for each row where F = 0, ANDed together.

Why they are useful:

  • They come straight from a truth table, with no cleverness needed.
  • They make comparison easy. Two expressions are equivalent exactly when they have the same minterm list.
  • They are the starting point for systematic simplification.

What they are not: cheap. Every term contains all n variables. For F(A, B, C) = Σm(4, 5, 6, 7) the canonical SOP has 12 literals, while the simplest form is just A.

Which to write? Use whichever list is shorter. A function with 13 ones out of 16 rows has a 13-term canonical SOP but only a 3-term canonical POS.

Non-canonical SOP and POS forms, where terms may leave out variables, are sometimes called standard forms.

Worked example

Example

Both canonical forms of XOR

F(A, B) = 1 when A and B differ. Write both canonical forms.

  1. 1.

    F = 1 on rows 01 and 10 (rows 1 and 2): F = Σm(1, 2) = .

  2. 2.

    F = 0 on rows 00 and 11 (rows 0 and 3): F = ΠM(0, 3).

  3. 3.

    M0 = and M3 = , so F = .

  4. 4.

    Multiplying the POS out gives = , the same function.

Common mistakes

  • Calling any SOP canonical. In a canonical SOP every term contains every variable.

  • Thinking a canonical form is the simplest form. It is the most complete, and usually the most expensive.

Practice Canonical form

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

Learn it step by step

Canonical form is taught in Boolean Simplification and Combinational Logic.