Altifigence Academy

8 / 63 · Concept

From truth tables to expressions: minterms, maxterms, SOP and POS

Derive the same function from its 1 rows and 0 rows, and connect both forms with Karnaugh-map notation.

Select exactly one truth-table row

Fix the input order as A,B,CA,B,C, with A as the most significant bit. Row 5 is ABC=101. The product term that equals 1 only in that row is m5=AB‾Cm_5=A\overline B C. Such a term, containing every variable exactly once, is a minterm. “Min” does not mean the gate count is minimal.

If function FF is 1 in rows 1, 3, 5, 6 and 7, OR their mintermsMinterm An AND term containing every input variable exactly once, equal to 1 for only one input combination. OR together the minterms of rows whose output is 1. together:

F=Σm(1,3,5,6,7)=A‾B‾C+A‾BC+AB‾C+ABC‾+ABCF=\Sigma m(1,3,5,6,7)=\overline A\overline B C+\overline A B C+A\overline B C+AB\overline C+ABC

This is a sum of products (SOP). In canonical SOP, each term contains every variable. A general SOP can omit variables from individual terms.

The zero rows define the same function

The sum term that is 0 only in row 2, ABC=010, is M2=A+B‾+CM_2=A+\overline B+C. Each literal was chosen to be 0 in that row. A maxtermMaxterm An OR term containing every input variable exactly once, equal to 0 for only one input combination. AND together the maxterms of rows whose output is 0. is an OR term that is 0 in exactly one row.

F is 0 in rows 0, 2 and 4, giving this product of sums (POS):

F=ΠM(0,2,4)=(A+B+C)(A+B‾+C)(A‾+B+C)F=\Pi M(0,2,4)=(A+B+C)(A+\overline B+C)(\overline A+B+C)

Σ and Π compactly list sets of truth-tableTruth table A table listing every possible input combination and its output. Changes over time are checked separately with waveforms. Learn more row numbers. Σm lists the 1 rows; ΠM lists the 0 rows.

Derive two expressions from one truth table
  1. Rows with output 1: OR the minterms for 1, 3, 5, 6, 7
  2. The same F: Output 1 means C=1 or A=B=1
  3. Rows with output 0: AND the maxterms for 0, 2, 4

Canonical forms are the starting point; simplification comes next

The function above simplifies to F=C+ABF=C+AB. The four rows with C=1 form one group; AB covers the remaining 110 row with C=0. The term AB omits C, so this is SOP but not canonical SOP.

The next lesson introduces Karnaugh maps to find these groups visually. Thinking about which variables disappear as inputs change is more useful than memorizing grouping rules alone.

Lab · Connect three representations of the same function

Truth-table rows, canonical forms and a simplified expression

F = C + A · B

Three-input truth table · X is an unspecified output
ABCF
0000
0011
0100
0111
1000
1011
1101
1111

The A, B and C buttons at the top change only the input being observed. The 0, 1 and X buttons inside the map change the function's specification itself. Keep these operations distinct. A dashed border marks the current input; blue borders mark cells covered by the selected product term.

In the initial function, set ABC=110: F=1 because AB is 1 even though C=0. Alternate between the C and A·B groups below and confirm that m7 belongs to both. Including an overlapping cell twice does not change an OR result.

Now press m6's output twice, changing 1 → X → 0. The final function is simply C. Row 6 should disappear from Σm and appear in ΠM. At the intermediate X state, the specification does not require a particular output for that row. If an input can occur and its output is specified, you must not arbitrarily replace it with X just to reduce cost.

Σm shows required 1s, ΠM required 0s, and d the don't-care rows. If d is nonempty, neither Σm nor ΠM alone specifies a complete truth table. The lab's “minimum SOP” is one expression that first minimizes the number of product terms, then the number of literals; it is not necessarily optimal in actual gate area.

Try it yourself

If only the requirement for m6 in F=C+AB changes from 1 to 0, what expression results? How does that specification differ from changing m6 to X?

Read the explanation

F=C. Setting m6=0 requires an output of 0 for that input. Setting m6=X permits either a 0 or 1 implementation in that row, while every other specified row must still be satisfied.

Your choice applies to this browser. Change it any time using the footer.