Canonical forms — SOP & POS
How to write a Boolean function straight from its truth table, two standard ways. This is the starting expression every simplification begins from.
Built from first principles.
Before you start
What you need first
- Truth tables — every row, in binary order.
- Theorems & simplification — why a smaller expression is better.
What you'll be able to do
- Write the SOP form from the rows where F = 1.
- Write the POS form from the rows where F = 0.
- Use minterm/maxterm and the
Σm/ΠMnotation.
First we need a starting expression
A truth table says what a function does, but you can't wire a truth table — you wire an expression. Two standard ("canonical") forms come straight out of the table, and either can then be simplified (next topic) into fewer gates.
Sum-of-Products (SOP): read the 1-rows
A minterm is an AND term using every variable exactly once (itself or complemented). There are \(2^n\) of them. Rule: for each row where F = 1, write the minterm true on that row, then OR them:
- variable is 1 in that row → write it as itself (
A), - variable is 0 in that row → write its complement (
A′).
Build the SOP for this function
| Row | A | B | C | F |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 1 |
| 2 | 0 | 1 | 0 | 0 |
| 3 | 0 | 1 | 1 | 1 |
| 4 | 1 | 0 | 0 | 0 |
| 5 | 1 | 0 | 1 | 1 |
| 6 | 1 | 1 | 0 | 0 |
| 7 | 1 | 1 | 1 | 1 |
One minterm per F = 1 row:
C as itself — a hint the simplified form
is just C.Product-of-Sums (POS): read the 0-rows
A maxterm is an OR term using every variable once — the opposite of a minterm (false on exactly one row). Rule: for each row where F = 0, write the maxterm false on that row, then AND them:
- variable is 1 in that row → write its complement (
A′), - variable is 0 in that row → write it as itself (
A).
Same function, POS from the F = 0 rows (0, 2, 4, 6)
✏️ Try it yourself
(a) How many minterms for a 4-variable function? (b) For row A=1,B=0,C=1 with F=1, write the minterm. (c) Same row with F=0, write the maxterm. (d) A function has only one F=0 row — SOP or POS?
A·B′·C.
(c) flip each: A′ + B + C′.
(d) POS — just one maxterm (POS is shorter when 0s are rare).
Recap — the whole topic on one screen
| Form | Read from | Term rule | Notation |
|---|---|---|---|
| SOP | F = 1 rows | AND (1→self, 0→comp), then OR | Σm(…) |
| POS | F = 0 rows | OR (1→comp, 0→self), then AND | ΠM(…) |