Karnaugh Map Context
Every truth table hides a formula in plain sight. Here's the brute-force way to pull it out, and the one habit worth building before Karnaugh maps make it fast.
| A Karnaugh map looks complicated but it really is just a truth table with its rows reordered.
Reading 1s Off a Truth Table
Any combinational circuit can be written as a truth table, one row per input combination, one output column. To reverse-engineer that table into a formula, you only ever need the rows where the output is 1. Hardcode each of those rows as an AND of its inputs, then OR all of those together. The result is guaranteed correct every time, because every row where the output should be 1 is accounted for by its own term.
Say one row has A = 1, B = 1 with output 1, and another has A = 0, B = 1, also output 1. AND each row's inputs together, giving AB and A'B, then OR the two rows: AB + A'B. That is a completely valid formula for the function, with every input combination that should output 1 accounted for by its own term. Nothing hand-wavy.
This method is worth sitting with for a moment, because everything else in this section is just a faster way to do the same thing. Below is a truth table for a small function, and you can click every row where the output is 1, since those are the rows you would hardcode into a formula this way.
Click every row below where the output is 1, those are the minterms. Then check your answer.
| A | B | F |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Minterms
Each of those single-row AND terms has a name: a minterm, a product term that is true for exactly one input combination. Sum every minterm where the output is 1 and you get the canonical Sum-of-Products form of the function, which is always correct and almost never the simplest circuit you could build. Essentially, this is the brute-force approach where we hardcode what we want the output to be.
The One Identity Behind Every Simplification
Every simplification a Karnaugh map ever helps you find comes from the identity X + X' = 1. If two minterms are identical except for a single variable that appears true in one and complemented in the other, that variable cancels out completely.
AB'C + ABC
= AB(C' + C)
= AB * 1
= ABA and B stayed fixed across both terms, and C is the only thing that flipped, C' in one, C in the other, so it contributes nothing to the final answer and cancels, leaving AB. Two three-variable minterms merged into one two-variable term.
In summary, two minterms combine into one shorter term whenever they differ in exactly one bit position. What a karnaugh map adds is speed, making the qualifying pairs, and later the quads and larger groups, visible by eye without having to do all the algebra.
Check yourself
AB'C and ABC merge into AB. What made that legal?
The Problem With an Ordinary Truth Table
Write a 3-variable truth table in ordinary binary counting order and the rows look like this:
000 -> 001 -> 010 -> 011 -> 100 -> 101 -> 110 -> 111As you can see, as we keep incrementing our binary number there are multiple bit changes. A Karnaugh map uses a different ordering method, where the next number only has one difference compared to the previous number. This is called Gray Code ordering.