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.