The product of maxterms, or canonical POS, writes a function as the AND of one maxterm for every row where F = 0. The shorthand lists those rows: F = ΠM(1, 2, 6) means F = M1 · M2 · M6.
Why it works. An AND is 0 as soon as any factor is 0.
- On a listed row, that row's maxterm is 0, so F = 0.
- On any other row, every maxterm in the product is 1, so F = 1.
So the product reproduces the truth table exactly, just as the sum of minterms does from the 1s.
Σm lists the 1s; ΠM lists the 0s. Every row is one or the other, so for n inputs the two lists split the rows 0 to 2ⁿ − 1 between them. Converting is just taking the other rows; see canonical form conversion.
Like every canonical form, it is unique for each function and always easy to write, but rarely cheap: each maxterm has n literals. It is the starting point for finding a minimal pos.
With don't-cares, list only the required 0s in ΠM and carry the don't-cares separately: F = ΠM(…) · d(…). See dont care condition.
| 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |