Related Concepts: 3.03 SOP, POS, Canonical & Standard Forms | 3.05 Karnaugh Map (K-Map) Optimization & Don’t Care States | 3.06 Tabular Method (Quine-McCluskey) & Prime Implicants
3.04 Mathematical Conversions & Expansion of SOP and POS
Concept Overview
Converting standard Boolean expressions into canonical Sum of Products (SOP) or Product of Sums (POS) form is accomplished algebraically via Missing-Variable Expansion.
graph TD Expression[Non-Canonical Expression] --> Type{Expansion Target} Type -->|Expand to SOP| SOPRule[Multiply term by x + x' = 1] SOPRule --> ExpandSOP[Apply Distributive Law: AB x+x' = ABx + ABx'] ExpandSOP --> ListMinterms[List Sum of Minterms Σm] Type -->|Expand to POS| POSRule[Add xx' = 0 to sum term] POSRule --> ExpandPOS[Apply Distributive Law: X + YZ = X+Y X+Z] ExpandPOS --> ListMaxterms[List Product of Maxterms ΠM]
1. Algebraic Expansion Rules
- SOP Expansion Rule: Multiply each non-canonical AND product term by for every missing variable .
- POS Expansion Rule: Add to each non-canonical OR sum term for every missing variable , then expand via distribution: .
2. Canonical Expansion (Major PYQ)
Method Demonstration
Question: Express in Product of Maxterms () and Sum of Minterms () notation.
Solution:
Part 1: Product of Maxterms ()
-
Term 1 is missing :
-
Term 2 is missing and : Expanding via distribution yields 4 maxterms:
Part 2: Sum of Minterms ()
The minterm indices are the remaining numbers out of :
3. The Actual Exam Expressions
The examiner has used a different expression almost every year, but only two shapes ever appear: a product of sum-terms (expand each bracket) or a sum of product-terms (expand each product). Both are solved below.
3.1 Three-Variable POS Input
Worked Exam Problem (PYQ 2017 — 12 marks; 2021 — 10 marks)
Question (verbatim): Express the following functions in a sum of Minterms and a product of Maxterms: (i) (ii)
Part (i) — the input is already POS, so expand each sum term over the missing variable:
- is missing :
- zero when
- zero when
- is missing :
Part (ii) — despite the brackets this is not POS; multiply it out first:
is absorbed by , leaving the majority function:
Expanding each 2-literal term over its missing variable: ; ; .
The bracket trap
Brackets do not mean POS. is a product of two non-canonical sum terms containing products — you must multiply out before you can talk about maxterms at all. Attempting to expand it directly as if each bracket were a maxterm produces nonsense. Check every bracket: a true sum term contains only single literals joined by .
3.2 Single-Direction Conversion
Worked Exam Problem (PYQ 2024 — 09 marks)
Question (verbatim): What is meant by canonical and standard form? Express the Boolean function in a product of maxterm form.
(The definitions half is answered in 3.03 SOP, POS, Canonical & Standard Forms.)
Expand each product term over its missing variable:
- is missing :
- is missing :
The maxterms are every index not in that list:
4. The Problem
Worked Exam Problem (PYQ 2018 — 10 marks; 2022 — 07 marks)
Question (verbatim, 2018): With the use of K-map, find the simplest sum-of-products form of the function , where
This looks intimidating but is purely mechanical. means the minterms of are the minterms present in AND in — an intersection, nothing more.
Step 1: Minterms of (an SOP — expand each product term)
| Term | Missing | Minterms |
|---|---|---|
Step 2: Maxterms of (a POS — each bracket is zero for one input pattern)
| Sum term | Zero when | Maxterm(s) |
|---|---|---|
| , free | ||
| , free |
So is 0 at exactly minterms and 1 everywhere else.
Step 3: Intersect
Delete from ‘s list every minterm where :
Step 4: K-Map
cd
ab \ 00 01 11 10
+----+----+----+----+
00 | 0 | 0 | 0 | 1 | m2
+----+----+----+----+
01 | 0 | 1 | 0 | 0 | m5
+----+----+----+----+
11 | 1 | 0 | 0 | 0 | m12
+----+----+----+----+
10 | 0 | 0 | 0 | 1 | m10
+----+----+----+----+Only and are adjacent (top and bottom rows wrap): ; . Both and are completely isolated.
Do not multiply algebraically
Expanding by distribution generates twelve products and takes twenty minutes. Converting both sides to minterm index lists and intersecting takes three. The 2022 version of this question is worth only 7 marks — it is not designed to take long.
Careful with the 2022 wording: its first bracket is , not . One character changes into and therefore changes the whole answer. Re-derive rather than reciting.
5. The Literal-Budget Problem
Worked Exam Problem (PYQ 2022 — 09 marks)
Question (verbatim): Give three possible ways to express the following Boolean function with eight or fewer literals:
Step 1: Expand to minterms
; ; ; .
Step 2: Notice that minimal SOP will not meet the budget
CD
AB \ 00 01 11 10
+----+----+----+----+
00 | 1 | 0 | 0 | 0 |
+----+----+----+----+
01 | 0 | 1 | 1 | 0 |
+----+----+----+----+
11 | 0 | 1 | 0 | 0 |
+----+----+----+----+
10 | 1 | 0 | 0 | 1 |
+----+----+----+----+The only adjacencies are , , and — four pairs, no quads. The minimal two-level SOP is therefore
This is the whole point of the question. It is not asking for minimal SOP; it is asking you to factor, i.e. to move to a multi-level expression.
Step 3: Factor by partitioning on and
Split the map into its four regions and read what is left in each:
| Region | Cells | in that region |
|---|---|---|
| 1 except at | ||
| 1 except at | ||
| all 0 | ||
| all 0 |
Step 4: The other two “ways”
The question asks for three expressions. Form 1 above is the one that meets the eight-literal budget; two further valid factorisations (on and on , at 12 and 10 literals) are worked out in 3.07 Boolean Algebra Puzzles & Exam Proofs §2 — present Form 1 first, since it is the one that actually satisfies the constraint.
How to spot a "factor it" question
Any question that sets a literal budget (“with eight or fewer literals”, “using no more than N gates”) is asking for a factored, multi-level form, not a minimal SOP. The tell is that the minimal SOP visibly exceeds the budget. Look for a variable pair whose regions each collapse to a short expression — here and — and factor on those.
6. Class Test 01 Master Problem: SOP vs POS Gate Optimization
Class Test 01: SOP vs POS Gate Optimization
Question: Given : a) Convert into canonical SOP. b) Which implementation (SOP or POS) requires fewer logic gates?
Part A: Canonical SOP The minterm list is the exact inverse of the given maxterm list for a 4-variable system (0-15):
- Minterms =
- Canonical SOP:
Part B: Gate Optimization Justification To determine which implementation requires fewer gates, simplify both using K-maps:
- SOP Simplification: Plotting 1s yields a quad and a quad .
- POS Simplification: Plotting 0s yields . Complementing gives:
- Conclusion: Both simplified expressions mathematically reduce to the exact same logic (an XOR gate, or 2 ANDs + 1 OR). Therefore, both SOP and POS require the exact same number of logic gates.
Past Year Questions (PYQs)
Question (as asked) Years Marks Solved in Express in sum of minterms and product of maxterms 2015 12 §2 method Given , construct the truth table and express in maxterm and minterm forms 2016 12 §2 method Express in sum of minterms and product of maxterms: (i) , (ii) 2017, 2021 10–12 §3.1 Express in a sum of minterms and a product of maxterms 2019 9 §2 method Convert into SOP and POS: (i) , (ii) 2022 10 §3.1 method What is meant by canonical and standard form? Express in product of maxterm form 2024 9 §3.2 Find the simplest SOP of (full expressions in §4) 2018, 2022 7–10 §4 Give three possible ways to express with eight or fewer literals 2022 9 §5 Class Test 01: — canonical SOP, and which of SOP/POS needs fewer gates CT 10 §6 Pattern to notice: minterm/maxterm expansion appears in every single paper, worth 9–12 marks, and the expression changes every year — so there is nothing to memorise beyond the two expansion rules in §1. Three sub-skills cover all of it:
- Multiply out anything that is not already a clean SOP or POS (the bracket trap, §3.1)
- Expand each term over its missing variables
- Read the complementary index list for the other form
Highest-risk item: the question (§4) — two appearances, and students routinely burn twenty minutes multiplying it out algebraically instead of intersecting index lists.