Contents

Digital Electronics
Number Systems
Logic Gates
Boolean Algebra
Combinational Circuits
Sequential Circuits
Memory & PLDs
Digital System Design
Other Topics
Other Subjects
Section Progress44%

7 of 16 articles

Canonical SOP Form

Sum of products, minterms, canonical representation.

Darshan N
Updated: 19 March 2026
11 min read

The canonical Sum of Products (SOP) form is a standardized Boolean expression where every possible input combination that makes the function output 1 is represented as an individual product term called a **minterm**. Every digital logic function can be expressed uniquely in this form, making it the universal starting point for logic minimization, Karnaugh map entry, and hardware synthesis.

Canonical SOP: Minterms for a 3-Variable FunctionRowABCMintermSymbolF included?0000A'B'C'm0No1001A'B'Cm1Yes2010A'BC'm2No3011A'BCm3Yes4100AB'C'm4Yes5101AB'Cm5No6110ABC'm6No7111ABCm7YesCanonical SOP:F(A,B,C) = m(1,3,4,7) = A'B'C + A'BC + AB'C' + ABCEach minterm has ALL 3 variables (complemented or not). Minterm number = row decimal value.
Figure 1: Complete minterm table for a three-variable function F showing which minterms are included in the canonical SOP

Core Concept Explanation

A **minterm** for n variables is a product term that contains all n variables exactly once, each either in complemented or uncomplemented form. For two variables A and B, there are 2^2 = 4 minterms: A'B', A'B, AB', AB, which correspond to rows 0, 1, 2, 3 of the truth table. For three variables, there are 2^3 = 8 minterms. Each minterm evaluates to 1 for exactly one input combination and 0 for all others.

The canonical SOP form of a Boolean function is obtained by summing (OR-ing) all minterms for which the function output is 1. This representation is called canonical because it is unique: no two different Boolean functions have the same canonical SOP. This makes it a standard form for comparison, verification, and as the starting point for Karnaugh map minimization.

The minterm index is the decimal equivalent of the binary input combination. For a minterm A'B'C (where A=0, B=0, C=1), the binary value is 001, which equals decimal 1. So this minterm is m1. A variable is uncomplemented when the corresponding input bit is 1, and complemented when the input bit is 0. This rule is consistent and allows quick construction of any minterm from its index.

A Boolean function can be expressed in shorthand notation using the sigma summation symbol. F(A,B,C) = sum_m(1,3,5,7) means the function is 1 for minterms 1, 3, 5, and 7. The full expanded canonical SOP is obtained by writing out each minterm expression and OR-ing them together.

Mathematical Expression

For n variables, there are 2^n minterms, indexed from 0 to 2^n - 1. The minterm mi corresponds to the binary representation of i applied to the variables in order. A variable Xk appears uncomplemented in mi if bit k of i is 1, and complemented if bit k is 0. The canonical SOP is F = sum of mi for all i where F(i) = 1. For three variables A, B, C, each minterm is a three-literal AND term. For example, m5 corresponds to binary 101, so A=1, B=0, C=1, giving the minterm AB'C.

Practical Understanding

The canonical SOP form is the direct output of a truth table. Any circuit described by a truth table can be immediately implemented as a two-level AND-OR network where each AND gate corresponds to one minterm and the OR gate sums all outputs. This two-level structure is directly related to the Programmable Logic Array (PLA) architecture used in early programmable logic devices.

In GATE and university examinations, canonical SOP is tested by asking students to derive the expression from a truth table, convert a non-canonical SOP to canonical form, or identify the minterms from a given expression. Conversion from non-canonical to canonical form requires expanding each product term that is missing a variable by multiplying it with (X + X') for each missing variable X, which generates all minterms covered by that term.

Example
Given:
F(A,B) = A + B (two-variable function)

Why this formula applies:
Converting non-canonical SOP to canonical SOP by expanding missing variables

Formula:
For term A (missing B): A = A(B+B') = AB + AB'
For term B (missing A): B = B(A+A') = AB + A'B

Substitution:
F = AB + AB' + AB + A'B
    = AB + AB' + A'B  (removing duplicate AB)

Calculation:
Minterms: AB' = m2, A'B = m1, AB = m3

Final Answer:
F(A,B) = A + B = m(1,2,3) = A'B + AB' + AB (canonical SOP)
Exam Tip: To convert a non-canonical SOP term to minterms, multiply each term missing variable X by (X+X'). This doubles the number of terms but each becomes a valid minterm. Collect unique minterms at the end.

Loading lab...

Quick Revision

  • Minterm: product term with all n variables, each complemented or not. Evaluates to 1 for exactly one input combination.
  • Minterm index = decimal value of binary input combination. Variable is uncomplemented when its bit is 1.
  • Canonical SOP = OR of all minterms where F = 1. Written as F = sum_m(list of indices).
  • For n variables, there are 2^n minterms numbered m0 to m(2^n - 1).
  • To convert non-canonical term to minterms: multiply by (X+X') for each missing variable X.
  • Exam trap: a minterm must contain ALL variables. A term like AB in a three-variable function is not a minterm.
  • Canonical SOP is unique for a given function and serves as the standard form for Karnaugh map entry and PLA implementation.

Canonical SOP Quiz

Test your understanding of canonical SOP form and minterm representation.

Question 1 of 3

Q1.A Boolean function F(A, B, C) = sum(1, 3, 5, 7). How many minterms contain the literal A?