Canonical Sum of Product
Canonical Sum of Products (SOP) is a standard form of Boolean expression in which all product terms are connected using the OR operation. Each product term contains every input variable exactly once, either in its complemented or uncomplemented form.

Canonical SOP is also called the Sum of Minterms because each product term represents a minterm. It is commonly used in digital logic design to represent Boolean functions systematically.
Rules for Writing Canonical SOP
Follow these rules to write a Boolean function in canonical SOP form:
- Select all rows from the truth table where the output is 1.
- Write one minterm for each selected row and include every input variable in it. Use a complemented variable for an input value of 0 and an uncomplemented variable for an input value of 1. For example, if A = 0, use A′. If A = 1, use A. Similarly, if A = 0, B = 1, and C = 0, the product term will be A′BC′.
- Connect all minterms using the OR (+) operation.
| Important: Step 2 applies only to the rows where the output is 1. For example, if the output is 1 for three rows, write one product term for each of those three rows. Ignore the rows where the output is 0. |
Minterms in Sum of Product
A minterm is a product term that contains every input variable exactly once, either complemented or uncomplemented. If an input value is 0, use its complement (A′). If the value is 1, use the variable as it is (A).
- Minterm: For variables A, B, and C, A′BC′ is a minterm because all variables appear exactly once.
- Not a Minterm: AB′ because C is missing, or AAB′C because A appears twice.
For two variables A and B, the minterms truth table with its notations is given below

Canonical Sum of Products – 2 Variables
Consider the Boolean function F(A, B) with two variables, A and B. A Boolean function can be converted into canonical SOP form using its truth table. The process involves selecting the rows where the output is 1 and writing the corresponding minterms.
The minterms are connected by the OR operation (+), to get the canonical SOP form.
Canonical SOP from 2-variable OR Gate – Truth Table
The truth table below shows all possible input combinations for a 2-variable OR gate and its output. The rows where the output is 1 are used to write the canonical SOP expression.

The output is 1 for the input combinations (0, 1), (1,0), and (1, 1).
- For A = 0 and B = 1, the minterm is A’B.
- For A = 1 and B = 0, the minterm is AB’.
- For A = 1 and B = 1, the minterm is AB.
Therefore, the canonical SOP expression is: F(A, B) = A’B + AB’ + AB
Canonical SOP from 2-variable OR Gate – Logic Circuit Diagram
The following circuit diagram which uses three AND gates to generate the minterms A′B, AB′, and AB. An OR gate combines these minterms to produce the final output.

Canonical SOP Notation – OR Gate 2-Variables
For the expression F(A, B)=A’B+AB’+AB. but the standard minterm notation is Σm(1,2,3). This notation represents the sum of minterms m1, m2, and m3. You can also write it as: Σm1+m2+m3.

The following table explains all notations used in canonical SOP
| Notation | Name |
|---|---|
| (F(A,B) | Boolean Function Notation |
| (A’B+AB’+AB) | Canonical Sum of Products (SOP) Notation |
| Σm(1,2,3) | Summation of Minterms Notation |
| Σm1,m2,m3 | Minterm Notation |
| Σ | Summation Symbol |
| A’B, AB’, AB | Minterms (Product Terms) |
Let’s explain an example of Canonical Sum of Products with 3 variables, using a general Boolean function instead of an OR gate (used in the above example).
Canonical Sum of Products – 3 Variables
Consider the Boolean function F(A, B, C) with three variables, A, B, and C. A Boolean function can be converted into canonical SOP form using its truth table. The process involves selecting the rows where the output is 1 and writing the corresponding minterms. The minterms are connected by the OR operation (+) to obtain the canonical SOP form.
Canonical SOP from 3 Variables – Truth Table
The truth table below shows all possible input combinations for three variables and their corresponding output values. The rows where the output is 1 are selected to write the canonical SOP expression.

The output is 1 for the input combinations (0, 0, 1), (0, 1, 1), (1, 0, 0), (1, 1, 0), and (1, 1, 1).
- For A = 0, B = 0, and C = 1, the minterm is A′B′C.
- For A = 0, B = 1, and C = 1, the minterm is A′BC.
- For A = 1, B = 0, and C = 0, the minterm is AB′C′.
- For A = 1, B = 1, and C = 0, the minterm is ABC′.
- For A = 1, B = 1, and C = 1, the minterm is ABC.
Therefore, the canonical SOP expression is: F(A, B, C) = A′B′C + A′BC + AB′C′ + ABC′ + ABC
Canonical SOP from 3 Variables – Logic Circuit Diagram
The following circuit uses five AND gates to generate the minterms A′B′C, A′BC, AB′C′, ABC′, and ABC. An OR gate combines these minterms to produce the final output.

Canonical SOP Notation – 3 Variables
For the Boolean function F(A, B, C) = A′B′C + A′BC + AB′C′ + ABC′ + ABC, the standard minterm notation is Σm(1, 3, 4, 6, 7). This notation represents the sum of minterms m₁, m₃, m₄, m₆, and m₇.

Difference Between Canonical SOP and SOP
Canonical SOP is a special type of SOP in which every product term contains all input variables.
| Feature | Canonical Sum of Products | Sum of Products (SOP) |
|---|---|---|
| Definition | A Boolean expression in which every product term contains all input variables. | A Boolean expression in which product terms are connected using the OR operation. |
| Product Terms | Every term contains all variables exactly once. | Terms may contain all or only some variables. |
| Type of Terms | Each product term is a minterm. | Product terms are not necessarily minterms. |
| Complemented Variables | Each variable appears in complemented or uncomplemented form in every term. | Variables may be complemented, uncomplemented, or absent from a term. |
| Derivation | Obtained directly from truth-table rows where the output is 1. | Can be obtained directly or by simplifying a Boolean expression. |
| Example | (A’B+AB) | (A+B) |
| Other Name | Sum of Minterms. | General Sum of Products form. |
Applications of Canonical SOP
Canonical SOP is useful in digital logic design for the following purposes:
- Boolean Function Representation: It provides a systematic way to represent Boolean functions.
- Logic Circuit Design: It helps implement Boolean functions using AND and OR gates, with NOT gates where required.
- Truth Table Conversion: It converts truth-table outputs into Boolean expressions.
- Logic Function Comparison: It provides a standard form for comparing Boolean functions.
- Boolean Simplification: It provides a starting point for simplifying expressions using Boolean algebra or Karnaugh maps (K-maps).
The main difference between Canonical Sum of Products (SOP) and Canonical Product of Sums (POS) is that canonical SOP uses the truth table rows where the output is 1, while canonical POS uses the rows where the output is 0.
Difference Between Canonical SOP and Canonical POS
| Canonical SOP | Canonical POS |
|---|---|
| SOP stands for Sum of Products. | POS stands for Product of Sums. |
| It is also called the Sum of Minterms. | It is also called the Product of Maxterms. |
| Select truth table rows where output (F=1). | Select truth table rows where output (F=0). |
| Variables in each product term are connected using AND (.). | Variables in each sum term are connected using OR (+). |
| Product terms are connected using OR (+). | Sum terms are connected using AND (.). |
| A variable is complemented when its input is 0. | A variable is complemented when its input is 1. |
| Example: F=A’B+AB’ | Example: (F=(A+B)(A’+B’) |
Conclusion
Canonical Sum of Products (SOP) is a standard Boolean expression in which every product term contains all input variables exactly once. It is constructed by selecting the truth-table rows where the output is 1 and combining their minterms using the OR operation. Canonical SOP is an important concept in Boolean algebra and digital logic design.