In our last lesson, we explored how to use the fundamental theorems of Boolean algebra to simplify logic expressions. This process of simplification is an art, often requiring insight to spot opportunities for applying theorems like consensus or absorption. Today, we shift from the art of simplification to the science of standardization.
This lesson focuses on expressing Boolean functions in standardized or canonical forms. While simplified expressions are our ultimate goal for building efficient circuits, canonical forms provide a unique and unambiguous representation for any given function. This is incredibly useful as a common starting point for automated design tools and for understanding the complete behavior of a function. Your goal is to learn how to express any Boolean function in two key canonical forms: Sum-of-Products (SOP) and Product-of-Sums (POS).
Two Sides of the Same Coin: SOP and POS
At a high level, any logic function can be represented in two standard ways: as a sum of product terms (SOP) or as a product of sum terms (POS).

Notice how SOP expressions are built from AND terms (products) that are then ORed together (sum). Conversely, POS expressions are built from OR terms (sums) that are then ANDed together (product). While many expressions can be in SOP or POS form, we will focus on a special, standardized version called the canonical form.
Canonical Sum-of-Products (Sum of Minterms)
The canonical SOP form is a specific type of SOP expression where every product term, called a minterm, contains every variable of the function.
A minterm is a product term (an AND operation) that is true for exactly one combination of inputs.
- To create a minterm for a specific input row, you write down the product of all variables.
- If a variable is 0 in that row, you use its complement (e.g., ).
- If a variable is 1, you use its true form (e.g., ).
The canonical SOP expression for a function is simply the logical OR (sum) of all the minterms for which the function's output is 1.
The following video provides an excellent explanation of minterms and how to build the canonical SOP form from a truth table.
Boolean Function Representation: SOP and POS Form | Minterms and Maxterms Explained
This video from ALL ABOUT ELECTRONICS clearly explains the concept of minterms and demonstrates how to construct a canonical SOP expression.
Please watch the segment from minterms and SOP. Pay close attention to: The definition of a minterm. The rule for writing a minterm based on the input values (0 for complement, 1 for true form). The process of identifying the relevant minterms from a truth table (where the function output is 1) and summing them. The shorthand summation notation \sum m(...).
Let's formalize this with a quick reading.
Sum Of Product (SOP) & Product Of Sum (POS) - Boolean ...
This article provides clear, written definitions for these concepts.
Please read the sections "Sum of Product (SOP)" and "Min Term" to solidify the definitions. Then, review the section "Canonical SOP Form" to see how a function is constructed from its minterms and represented using the ∑ symbol.
For example, consider a 3-variable function that is true for the input combination . The binary value is 101, which is decimal 5. The corresponding minterm, denoted , would be . If the function is also true for 001 (decimal 1), we would also include minterm . The canonical SOP expression would then be .
Canonical Product-of-Sums (Product of Maxterms)
The canonical POS form is the dual of the SOP form. Here, every sum term, called a maxterm, contains every variable of the function.
A maxterm is a sum term (an OR operation) that is false for exactly one combination of inputs.
- To create a maxterm for a specific input row, you write down the sum of all variables.
- The rule is the opposite of minterms: if a variable is 0 in that row, you use its true form (e.g., ).
- If a variable is 1, you use its complement (e.g., ).
The canonical POS expression for a function is the logical AND (product) of all the maxterms for which the function's output is 0.
Let's return to the video to see how this works.
Boolean Function Representation: SOP and POS Form | Minterms and Maxterms Explained
The video now explains the dual concepts of maxterms and the canonical POS form.
Please watch the segment from maxterms and POS. Focus on: The definition of a maxterm and its "inverted" construction rule. The process of identifying maxterms from a truth table (where the function output is 0) and taking their product. The shorthand product notation \prod M(...).
For our example function , suppose the output is 0 for the input combination . The binary value is 010, which is decimal 2. The corresponding maxterm, denoted , would be . If the function is also false for 110 (decimal 6), we would also include maxterm . The canonical POS expression would then be .
Converting Between Canonical Forms
You might have noticed a complementary relationship. For any given input combination , the minterm and maxterm are complements of each other. For example, for 101:
- Minterm
- Maxterm
- Using DeMorgan's theorem, you can see that .
This leads to a very simple and powerful way to convert between canonical forms. For an n-variable function, there are possible minterms/maxterms. The set of minterms that define a function and the set of maxterms that define the same function are complementary.
If a 3-variable function is given by the sum of minterms:
This means the output is 1 for these five combinations. It must therefore be 0 for the other combinations. The full set of indices is {0, 1, 2, 3, 4, 5, 6, 7}. The missing indices are {0, 2, 3}.
Therefore, the POS form is the product of the corresponding maxterms:
The following video segment and reading explain this elegant conversion process.
Boolean Function Representation: SOP and POS Form | Minterms and Maxterms Explained
This final segment explains the complementary relationship and the direct conversion method.
Watch the section on converting between forms. The key takeaway is that you simply list the indices that are not present in the original form.
[PDF] Sum of Product (SOP): Products of Sum (POS):
This PDF provides a concise, written example of the conversion rule.
Please read the final example under the heading "Conversions between Canonical forms".
From Simplified to Canonical Form
Often, you will start with a simplified expression (like those we created in the last lesson) and need to convert it to a canonical form. This process involves algebraically reintroducing the missing variables into each term.
1. Converting SOP to Canonical SOP:
To convert a non-canonical SOP expression, inspect each product term. For any missing variable (say, C), multiply that term by (C + C'), which is equivalent to multiplying by 1. Then, expand the expression and remove any duplicate minterms.
2. Converting POS to Canonical POS:
To convert a non-canonical POS expression, inspect each sum term. For any missing variable (say, C), add C⋅C' to that term, which is equivalent to adding 0. Then, use the distributive law (X + YZ) = (X+Y)(X+Z) to split the term into two new sum terms. Remove duplicates at the end.
This is a crucial practical skill. The next video is dedicated entirely to demonstrating this process with clear examples.
SOP and POS Form : Non Canonical to Canonical Form Conversion of Boolean Expression
This video by ALL ABOUT ELECTRONICS provides detailed walkthroughs for converting non-canonical expressions to their canonical counterparts.
First, watch the demonstration for converting a non-canonical SOP to canonical SOP. The detailed explanation is from the beginning, and more complex examples follow until this point. Then, skip ahead and watch the demonstration for converting a non-canonical POS to canonical POS from this segment.
Let's Practice
Time to apply what you've learned. As you've requested, let's work through some problems.
Problem 1: From Truth Table to Canonical Forms
Given the following 3-variable truth table for a function , derive its canonical SOP and canonical POS expressions. Express your answer in both algebraic form and using the shorthand notation.
| A | B | C | F |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 0 |
Solution
1. Canonical SOP (Sum-of-Products)
We look for rows where . These are rows 0, 2, 4, and 5.
- Row 0 (000): Minterm
- Row 2 (010): Minterm
- Row 4 (100): Minterm
- Row 5 (101): Minterm
The canonical SOP expression is the sum of these minterms.
- Algebraic Form:
- Shorthand Notation:
2. Canonical POS (Product-of-Sums)
We look for rows where . These are rows 1, 3, 6, and 7.
- Row 1 (001): Maxterm
- Row 3 (011): Maxterm
- Row 6 (110): Maxterm
- Row 7 (111): Maxterm
The canonical POS expression is the product of these maxterms.
- Algebraic Form:
- Shorthand Notation:
Notice that the indices in the POS form {1, 3, 6, 7} are exactly those missing from the SOP form {0, 2, 4, 5}, confirming our conversion rule.
Problem 2: From Simplified Expression to Canonical Forms
Convert the simplified Boolean expression into its canonical SOP and canonical POS forms.
Solution
1. Convert to Canonical SOP
The expression is .
- The term
Ais missing variablesBandC. - The term
B'Cis missing variableA.
Let's expand the first term:
Now expand these two new terms, which are both missing C:
So, the first term A expands to .
Next, expand the second term B'C:
Now, combine all the terms and remove duplicates:
The term AB'C is a duplicate. Removing it gives:
Let's write the minterms in numerical order:
-
-
-
-
-
-
Canonical SOP (Algebraic):
-
Canonical SOP (Shorthand):
2. Convert to Canonical POS
We can now use the simple conversion rule. Since we have the SOP form for a 3-variable function, the missing indices from the set {0, 1, ..., 7} are {0, 2, 3}.
Therefore, the canonical POS form is:
- Canonical POS (Shorthand):
Let's write out the algebraic form for completeness:
-
-
-
-
Canonical POS (Algebraic):
Conclusion
In this lesson, you learned how to represent any Boolean function in one of two standard canonical forms. These forms provide an unambiguous, function-defining structure that serves as a foundation for many design techniques.
Key Takeaways:
- Sum-of-Products (SOP) and Product-of-Sums (POS) are the two fundamental structures for logic expressions.
- Canonical forms are special versions where every term includes all function variables.
- Minterms are product terms for which the function is true (1). The sum of these forms the canonical SOP, denoted by .
- Maxterms are sum terms for which the function is false (0). The product of these forms the canonical POS, denoted by .
- Canonical forms are complementary: the maxterm indices for a function are those not present in its minterm list, allowing for easy conversion.
- Simplified expressions can be expanded into canonical form by algebraically reintroducing missing variables.
While canonical forms are complete, they are often far from simple. In our next module, we will dive into Combinational Logic Minimization Techniques. Our first lesson will introduce the Karnaugh map (K-map), a powerful graphical tool for turning a canonical expression into its most minimal, efficient form.