Skip to content

Product of sums (POS): meaning and examples

A product of sums (POS) is an AND of OR-clauses of literals, such as (A OR B) AND (NOT A OR C). It is the same shape as conjunctive normal form, written with AND as a product and OR as a sum.

In algebraic notation (A OR B) AND (NOT A OR C) is (A + B)(A′ + C): two sums multiplied. The form is the dual of the sum of products, and every function has one. The canonical product of sums uses only maxterms, one per false row; a shorter one uses clauses that each exclude several rows. A product of sums reads naturally as a list of requirements that must all hold, which is why constraints and SAT problems are usually stated in this shape.

The artefact on this page is (A OR B) AND (NOT A OR C). The converter reports it already a conjunctive normal form, 2 clauses and 4 literals, no law applied, and derives the disjunctive form (A AND C) OR (NOT A AND B) OR (B AND C), 3 terms and 6 literals, by distribution and complement. The 8-row table reads true on rows 2, 3, 5 and 7; the tautology counterexample A = FALSE, B = FALSE, C = FALSE fails the first clause, and the satisfiable witness is A = FALSE, B = TRUE, C = FALSE.

Products of sums correspond to OR-AND circuits and to NOR-NOR after conversion, and they are the form a Karnaugh map yields when the zeros are grouped instead of the ones. In testing and in configuration, each clause is one rule that can be reviewed on its own. The term is confused with sum of products (its dual), and the word “product” is sometimes misread as the final result rather than as the AND that joins the clauses.

Example

f := (A OR B) AND (NOT A OR C) · output

Exact checks

Always true (tautology)? No Counterexample: A = F, B = F, C = F · Exhaustively checked and solver cross-checked · 1 rows
Always false (contradiction)? No Counterexample: A = F, B = T, C = F · Exhaustively checked and solver cross-checked · 3 rows
Can be true? Yes Example assignment: A = F, B = T, C = F · Exhaustively checked and solver cross-checked · 3 rows

Truth table (8 rows)

Product of sums (POS): meaning and examples
#ABCf
0FALSEFALSEFALSEFALSE
1FALSEFALSETRUEFALSE
2FALSETRUEFALSETRUE
3FALSETRUETRUETRUE
4TRUEFALSEFALSEFALSE
5TRUEFALSETRUETRUE
6TRUETRUEFALSEFALSE
7TRUETRUETRUETRUE

Plain-language reading

Beginnerf is true exactly when both of the following hold:
1. at least one of A or B is true (both may be true)
2. A is false or C is true (or both)
In every other case, f is false.
About the operators:
- AND is true only when all of its parts are true.
- OR is inclusive: it is true when at least one part is true, including when several are.
- NOT reverses a value: true becomes false and false becomes true.
Intermediatef is true exactly when both of the following hold:
1. at least one of A or B is true (both may be true)
2. A is false or C is true (or both)
In every other case, f is false.
Advancedf is true exactly when both of the following hold [conjunction ∧]:
1. at least one of A or B is true (both may be true) [inclusive disjunction ∨]
2. A is false or C is true (or both) [inclusive disjunction ∨]
In every other case, f is false.
Formal notation: (A ∨ B) ∧ (¬A ∨ C)

Normal forms

Conjunctive normal form (CNF)

(A OR B) AND (NOT A OR C)

2 clauses, 4 literals · complete

Disjunctive normal form (DNF)

(A AND C) OR (NOT A AND B) OR (B AND C)

3 terms, 6 literals · complete · Distribution ×1, Complement ×1

The common slip

Distributing in the wrong direction when converting. Turning (A OR B) AND (NOT A OR C) into a sum of products multiplies out to four products, two of which contain a variable and its negation; the complement law removes them, which is why the converter's DNF here has 3 terms, not 4.

Questions

When should I prefer a product of sums?

When the function has fewer false rows than true rows, since each clause excludes false rows, or when the consumer wants clauses, as a SAT solver does. The comparison page on SOP versus POS puts the two forms side by side.

Related

Practice

See also

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.