In this tutorial, you will learn how to use SOP and POS forms in Boolean algebra to write a function. You will also learn about canonical forms, minterms, maxterms, the significance of SOP and POS forms along with their examples.

**Contents:**

- Minterms and Maxterms
- Properties of Minterms and Maxterms
- Sum of Product Form
- Functions in SOP Form
- Product of Sum Form
- Functions in POS Form
- Canonical Form
- Conversion of Any Function into Canonical Form

## Minterms and Maxterms

In any Boolean function, if there are n number of variables, then the number of possible input combinations for the function is 2^{n}. For example, if a function has A, B, C as input-variables then we have 2^{3} = 8 input combinations. A function can give either 0 or 1 as output for any of these 8 inputs.

These 8 input combinations are shown below in the table and this will be the input table for any function containing three variables.

- When we write those input combinations which result into logic 1 for the function as
**products**using**AND**operation, they are known as**minterms**. - When we write those input combinations which result into logic 0 for the function as
**sums**using**OR**operation, they are known as**maxterms**.

Here is the table representing all minterms and maxterms for three variables.

A | B | C | MAXTERM | MINTERM |
---|---|---|---|---|

0 | 0 | 0 | A + B + C | A’ B’ C’ |

0 | 0 | 1 | A + B + C’ | A’ B’ C |

0 | 1 | 0 | A + B’ + C | A’ B C’ |

0 | 1 | 1 | A + B’ + C’ | A’ B C |

1 | 0 | 0 | A’ + B + C | A B’ C’ |

1 | 0 | 1 | A’ + B + C’ | A B’ C |

0 | 1 | 1 | A + B’ + C’ | A’ B C |

1 | 1 | 1 | A’ + B’ + C’ | A B C |

As shown in the table,

- In minterms, we write the input-variable in its normal form if it is 1 else in the complemented form if it is 0. For example, A’B’C’ is the 0
^{th}minterm as A=0, B=0, C=0. - In maxterms, we write the input-variable in its normal form if it is 0 else in the complemented form if it is 1. For example, (A+ B + C) is the 0
^{th}maxterm as A=0, B=0, C=0.

## Properties of Minterms and Maxterms

Here are the properties of minterms and maxterms listed.

- The number of both maxterms and minterms for n variables is 2
^{n}. - N
^{th}minterm and the n^{th}maxterm are complementary to each other. For example, 0^{th}minterm is A’B’C’, its complement (A’B’C’)’ = (A’)’ + (B’)’ + (C’)’ = A + B + C , which is the 0^{th}maxterm. - Maxterms and minterms are just different ways to represent an input combination.
- The sum of all minterms results in 0 and the product of all maxterms result in 1.

## Sum of Product Form

Sum of product or SOP form is expressing any function with the help of logic 1. As minterms represent logic 1, we will write the function as the sum of minterms for all those inputs which result in logic 1 for the given function.

The symbol for summation is Σm and if a function is represented as Σm (0,1,4,5), it means we will consider the sum of minterms 0,1,4 and 5. Therefore, function is equal to A’B’C’ + A’B’C + AB’C’ + AB’C. Here are the steps to follow to write any function in SOP form: –

- Make the table of inputs and mark the combination of variables that result into 1 as the output for the function.
- If the variable is 0 for the input take its complement for forming the term else take its normal form if it is one.
- Write each of the minterms as the product of its variables
- Write the function as the sum of the above minterms.

## Functions in SOP Form

Here are the examples of SOP forms of functions shown in the figure.

As shown in the figure,

- f (A, B, C) = Σm (2,4,5,6)

m_{2}= 010 —-> A’BC’ m_{4}= 100 —> AB’C’ m_{5}= 101 —-> AB’C m_{6}= 110 —–> ABC’

Therefore, function f = A’BC’ + AB’C’ + AB’C + ABC’ - f (A, B, C) = Σm (1,2,3,7)

m_{1}= 001 —-> A’B’C m_{2 }= 010 —-> A’BC’ m_{3}= 011 —-> A’BC m_{7}= 111 —–> ABC

Therefore, function f = A’B’C + A’BC’ + A’BC + ABC

## Product of Sum Form

Product of Sum Form or POS form is expressing any function with the help of logic 0. As maxterms represent logic 0, we will write the function as a product of maxterms for all those inputs which result in logic 0 for the given function.

The symbol for product is **π** and if a function is represented as **πM** (0,1,4,5), it means we will consider the product of maxterms 0,1,4 and 5. Therefore, function is equal to (A’ + B’ + C’) (A’ + B’ + C) (A + B’ + C’) (A + B’ + C). Here are the steps to follow to write any function in POS form: –

- Make the table of inputs and mark the combination of variables that result into 0 as the output for the function.
- If the input variable is zero, then take its normal form in the term else take its complemented form if it is 1.
- Write each of the maxterms as the sum of its variables
- Write the function as the product of the above maxterms.

## Functions in POS Form

Here are the examples of POS form of functions shown in the figure.

As shown in the figure,

- f (A, B, C) = πM (2,4,5,6)

M_{2}= 010 —-> A +B’ +C M_{4}= 100 —> A’ + B + C M_{5}= 101 —-> A’ + B + C’ M_{6}= 110 —–> A’ + B’ + C

Therefore, function f = (A + B’ + C). (A’ + B + C). (A’ + B + C’), (A’ + B’ + C) - f (A, B, C) = πM (1,2,3,7)

M_{1}= 001 —-> A + B + C’ M_{2}= 010 —-> A + B’ + C M_{3}= 011 —-> A + B’ + C’ M_{7}= 111 —–> A’ + B’ + C’

Therefore, function f = (A + B + C’). (A + B’ + C). (A + B’ + C’). (A’ + B’ + C’)

## Canonical Form

A function is said to be in its canonical form if each term of the expression contains all the input variables in either complemented or normal form. It is also known as the standard form. For example,

- f (A, B, C) = A’BC + B’CA’ + ABC, all terms have A, B, C
- f (X, Y) = XY + X’Y’, all terms have X, Y

Any function which does not have all the variables in each one of its terms is not in the standard form but each function can be converted into its canonical form by using techniques of Boolean algebra.

## Conversion of Any Function into Canonical Form

Here are the steps to convert any function into its canonical form.

- First, check the terms which do not have all the variables.
- If the terms are in product form, then multiply the missing (variable + variable’s complement) with the term.
- If the terms are in sum form, then add the missing (variable . variable’s complement form) to the term.
- Expand the expression after doing this till all terms are separate.

For example,

- f (A, B, C) = AB’C + AC + B The 1st term has all three variable, but 2nd has C missing and 3rd has A, C missing

= AB’C + AC (B + B’) + B (C + C’) (A + A’) Terms are in product form; we multiply 1

= AB’C + ACB + ACB’ + B (AC + CA’ + C’A + A’C’)

= AB’C + ACB + ACB’ + BAC + CA’B + C’AB + A’C’B -
f (A, B, C) = (A + B + C’) (A + C) The 1st term has all three variable, but 2nd has B missing

= (A + B + C’) (A + C + BB’)

= (A + B + C’) (A + C + B) (A + C + B’) Using Distributive Law

## Key Points to Remember

Here are the key points to remember in “SOP and POS Forms”.

- Any function can be represented in either minterms or maxterms. The minterms represent logic 1 for the function whereas the maxterms represent logic 0 for the function.
- A minterm is written in the product form of its input variables whereas a maxterm is written in the sum form of its input variables.
- In the minterms, we take a variable in its normal form if its value is one else we take its complemented form.
- In the maxterms, we take a variable in its normal form if its value is zero else we take its complemented form.
- The SOP form is writing a function as the summation of its minterms whereas the POS form is writing a function as the product of its maxterms.
- Both minterms and maxterms are different ways of representing the same function.
- A function is said to be in its canonical form if each term of the function has all the input variables either in complemented or normal form.

**If you find any mistake above, kindly email to [email protected]**