Sum of products (SOP): meaning and examples
A sum of products (SOP) is an OR of AND-terms of literals, such as (A AND B) OR (NOT A AND C). It is the same shape as disjunctive normal form; the name comes from writing AND as a product and OR as a sum.
In the algebraic notation of Boole and of digital design, (A AND B) OR (NOT A AND C) is written AB + A′C: two products added together. Any Boolean function can be written this way, which is why the form is called normal. The canonical sum of products uses only minterms, one per true row; a shorter sum of products uses implicants, terms that cover several rows each. The engine's word notation keeps the operators explicit, so the sum is OR and each product is an AND of literals.
The artefact on this page is (A AND B) OR (NOT A AND C). The converter reports it already a disjunctive normal form, 2 terms and 4 literals, no law applied, and derives the conjunctive form (A OR C) AND (NOT A OR B) AND (B OR C), 3 clauses and 6 literals, by one distribution and one complement step. The 8-row table reads true on rows 1, 3, 6 and 7, and the satisfiable check holds with the witness A = FALSE, B = FALSE, C = TRUE, a row covered by the second term.
Sum of products is the natural output of a Karnaugh map and of the Quine–McCluskey method, and it maps directly onto a two-level AND-OR circuit, or onto NAND-NAND after the conversion the NAND converter performs. Programmers write it whenever a condition is a list of alternative cases, each a conjunction. The term is confused with product of sums, its AND-of-ORs dual, and with the canonical form, which is the special sum of products built only from minterms.
Example
f := (A AND B) OR (NOT A AND C) · output
Exact checks
Truth table (8 rows)
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | FALSE |
| 1 | FALSE | FALSE | TRUE | TRUE |
| 2 | FALSE | TRUE | FALSE | FALSE |
| 3 | FALSE | TRUE | TRUE | TRUE |
| 4 | TRUE | FALSE | FALSE | FALSE |
| 5 | TRUE | FALSE | TRUE | FALSE |
| 6 | TRUE | TRUE | FALSE | TRUE |
| 7 | TRUE | TRUE | TRUE | TRUE |
Plain-language reading
Beginnerf is true exactly when at least one of the following holds (both may hold):
1. both A and B are true
2. A is false and C is true
In every other case, f is false.
About the operators:
- OR is inclusive: it is true when at least one part is true, including when several are.
- AND is true only when all of its parts are true.
- NOT reverses a value: true becomes false and false becomes true.
Intermediatef is true exactly when at least one of the following holds (both may hold):
1. both A and B are true
2. A is false and C is true
In every other case, f is false.
Advancedf is true exactly when at least one of the following holds (both may hold) [inclusive disjunction ∨]:
1. both A and B are true [conjunction ∧]
2. A is false and C is true [conjunction ∧]
In every other case, f is false.
Formal notation: (A ∧ B) ∨ (¬A ∧ C)
Normal forms
Conjunctive normal form (CNF)
(A OR C) AND (NOT A OR B) AND (B OR C)3 clauses, 6 literals · complete · Distribution ×1, Complement ×1
Disjunctive normal form (DNF)
(A AND B) OR (NOT A AND C)2 terms, 4 literals · complete
The common slip
Thinking that a sum of products is always shorter than the product of sums. Which form is shorter depends on the function: here the SOP has 2 terms and the POS has 3 clauses, and on the product-of-sums page the counts are reversed.
Questions
Is every sum of products a disjunctive normal form?
Yes; the two phrases name the same shape, an OR of ANDs of literals. “Sum of products” is the engineering name and “disjunctive normal form” the logic name. Neither implies that the terms are minterms unless the word canonical is added.
Related
Practice
See also
- Product of sums (POS): meaning and examples
- Disjunctive normal form (DNF): meaning and examples
- Term (product term): meaning and examples
- Sum of products vs product of sums
- CNF and DNF converter: conjunctive and disjunctive normal forms, minterms and maxterms
- Lesson 10: Normal forms: DNF, CNF, minterms, and maxterms (advanced, 15 min)
Glossary
Generated from the Tangibool engine, semantics tangibool-semantics/1, engine 1.0.0, build . Every table, map, simplification and verdict on these pages was computed by the Tangibool engine when the site was built, and every claim was re-checked by the same exact checker the app uses. Limits are stated where they apply. © 2026 Foreranger LTD.