- Digital Electronics Course
- Digital Electronics Tutorial
- Logic Gates
- NAND NOR as a Universal Gate
- Boolean Algebra
- Proof of Theorems and Postulates
- De-Morgan's Theorems
- Duality Principle
- Sum of Products (SOP)
- Product of Sum (POS)
- Canonical SOP Form
- Canonical POS Form
- SOP to Standard SOP
- POS to Standard POS
- Standard SOP to Minimal SOP
- Standard POS to Minimal POS
- Computer Programming
- Learn Python
- Python Keywords
- Python Built-in Functions
- Python Examples
- Learn C++
- C++ Examples
- Learn C
- C Examples
- Learn Java
- Java Examples
- Learn C#
- Learn Objective-C
- Web Development
- Learn HTML
- Learn CSS
- Learn JavaScript
- JavaScript Examples
- Learn SQL
- Learn PHP

# Product of Sum (POS) Form

In Product of Sum (POS) form, literals are treated as sum terms, and all the sum terms are ANDed to get the expression in POS form.

In other words, POS is made up of sum terms that are ANDed together.

Here each sum term may contain one or more than one literal or variable. And literals may be in their complemented or uncomplemented form. For example, the expression in POS form looks like this:

(A'+B'+C).(A+B).(B'+C).(A+B+C')

## POS: Maxterm

All those sum terms that are present in the POS form of a boolean expression that contains all the variables are called maxterms. For example, if a function is defined as:

F(A,B,C) = (A+B+C).(A+B').(A'+C').(A+B'+C)

As we can clearly see, there are two sum terms that contain all three variables of the function, which are **(A+B+C)**
and **(A+B'+C)**. Therefore, these two variables can be called maxterm.

### How to Find the Total Number of MaxTerms

To calculate the total number of maxterms that can be present as a function of n variables, we use the following formula:

total number of maxterm = 2^{n}

where n is the number of variables present in the function. Therefore, in a 3-variable function, we will have a total of maxterm
**2 ^{3}** which is equal to 8. Therefore, we can have 8 maxterms in a 3-variable function.

Let's consider the following table:

Decimal | Binary | Maxterm | Designation |
---|---|---|---|

0 | 000 | A+B+C | M_{0} |

1 | 001 | A+B+C' | M_{1} |

2 | 010 | A+B'+C | M_{2} |

3 | 011 | A+B'+C' | M_{3} |

4 | 100 | A'+B+C | M_{4} |

5 | 101 | A'+B+C' | M_{5} |

6 | 110 | A'+B'+C | M_{6} |

7 | 111 | A'+B'+C' | M_{7} |

Because there are three variables in the truth table above, the total maximum term can be calculated as follows:

Total Maxterm = 2^{3}= 8

The POS form only cares about 0. Therefore, to get the output of 0 from one maxterm or one sum term, all three variables must have 0 as their value. That is, A+B+C will be 0 only when A contains 0, B contains 0, and C also contains 0. Because the + operator is also known as the OR operator, if any of the inputs is 1, the output will be 1, so we must make all of the inputs 0 to get 0 at the output.As a result, if any of the variables has a value of 1, we must complement that variable to reverse its value and make it 0.

The values of all three variables are already zero in the first row of the truth table above.But in the second row, we have a binary representation of 001. Here, the first digit belongs to A, the second digit belongs to B, and the third digit belongs to C. It means A contains 0, B contains 0, and C contains 1 in the second row, where the decimal value is 1. As a result, add them together to get (A+B+C) 0.We have to complement C to make it 0, and then the expression or sum term A+B+C also gives 0. Therefore, in that row, we have written (A+B+C) as maxterm to get 0. In this way, all the maxterms are written as shown in the above table.

Please keep in mind that we must complement all variables with a value of 1.

## How to Create POS Boolean Expressions Using the Truth Table

To understand POS form in a more clear way, we must understand how anyone can create a boolean expression in POS form using the given truth table.

Let's suppose we have the following truth table, as given:

A | B | C | F |
---|---|---|---|

0 | 0 | 0 | 0 |

0 | 0 | 1 | 0 |

0 | 1 | 0 | 1 |

0 | 1 | 1 | 1 |

1 | 0 | 0 | 0 |

1 | 0 | 1 | 1 |

1 | 1 | 0 | 1 |

1 | 1 | 1 | 1 |

As we have already discussed in POS form, we only care about 0. Therefore, we only have to look up where the function holds 0 or in which row the function has 0.

From the above truth table, we have 0 present in function at the **0 ^{th}**,

**1**,

^{st}**4**, and

^{th}**7**places. It means that the function holds a total of four 0s. As a result, we have a total of four maxterms. Then write the sum term with all the three variable and AND all the 4 maxterm as given below:

^{th}(A+B+C).(A+B+C).(A+B+C).(A+B+C)

Now, as you can see from the above table, at the 0^{th} row, all three variables hold 0. And at 1^{st}
row, A and B contain 0, but C contains 1, therefore we have to complement the variable C here. Or, in the second sum term, we have to write C in its
complemented form. In the same way, we have to write the complemented version of the variable where it holds 1 in the above truth table. After
performing this for all four sum terms, or maxterm, here is the final and correct POS form boolean expression you will get:

(A+B+C).(A+B+C').(A'+B+C).(A'+B'+C')

And below is the way to define the function with the help of the above POS form expression:

F(A,B,C) = Π_{M}(0,1,4,7)

Or,

F(A,B,C) = (M_{0},M_{1},M_{4},M_{7})

After you understand the above, you can use any truth table to define the function in POS form.

## How to Design a Truth Table Using POS Boolean Expressions

Under this topic, we will learn how to create a truth table using the given boolean expression in POS form.

Let's take an example. Here is the boolean expression given in POS form:

(A+B'+C').(A'+B'+C).(A+B'+C)

We have to design the truth table using the above expression in POS form. We have the following three sum terms:

**A+B'+C'****A'+B'+C****A+B'+C**

The first sum term **(A+B'+C')** is **011** in binary. As in POS boolean expressions, the uncomplemented form holds 0 and the
complemented form holds 1. The second sum term **(A'+B'+C)** is **110**. And the third sum term **(A+B'+C)** holds
**010**.

We have designed the truth table as given below. Only in three rows must we set maxterm to 0. That is, the binary representation is **011**,
**110**, and **010** in this case.

A | B | C | F |
---|---|---|---|

0 | 0 | 0 | 1 |

0 | 0 | 1 | 1 |

0 | 1 | 0 | 0 |

0 | 1 | 1 | 0 |

1 | 0 | 0 | 1 |

1 | 0 | 1 | 1 |

1 | 1 | 0 | 0 |

1 | 1 | 1 | 1 |

As we can see from the above truth table, the function contains three 0s. The first 0 is in that row where the binary value is 010; the second 0 is in that row where the binary value is 011; and finally, the third 0 is in that row where the binary value is 110. And at all the other places, we have 1.

## Truth Table for Three Variables' Minterm and Maxterm

The truth table given below shows the minterm and maxterm values along with their designation as 3-variables.

Decimal | Binary | Minterm | Maxterm | ||||
---|---|---|---|---|---|---|---|

A | B | C | Term | Designation | Term | Designation | |

0 | 0 | 0 | 0 | A'B'C' | m_{0} |
A+B+C | M_{0} |

1 | 0 | 0 | 1 | A'B'C | m_{1} |
A+B+C' | M_{1} |

2 | 0 | 1 | 0 | A'BC' | m_{2} |
A+B'+C | M_{2} |

3 | 0 | 1 | 1 | A'BC | m_{3} |
A+B'+C' | M_{3} |

4 | 1 | 0 | 0 | AB'C' | m_{4} |
A'+B+C | M_{4} |

5 | 1 | 0 | 1 | AB'C | m_{5} |
A'+B+C' | M_{5} |

6 | 1 | 1 | 0 | ABC' | m_{6} |
A'+B'+C | M_{6} |

7 | 1 | 1 | 1 | ABC | m_{7} |
A'+B'+C' | M_{7} |

« Previous Tutorial Next Tutorial »