# Sum of Product (SOP) Form

Any logical expression can be expressed in two standard forms, as given below:

1. Sum of Product (SOP) Form
2. Product of Sum (POS) Form

Now let's discuss the above-listed two types of forms used in logical expression. In this tutorial, we will only discuss the SOP form; the POS form will be discussed in the next tutorial.

The sum and product in the SOP form are not the actual results of addition or multiplication. Rather, they are the OR and AND functions.

The SOP recalls where is 1. It doesn't care about 0.

The SOP form is used to create boolean expressions using the given truth table data.

It is called the SOP form because it contains the sum of product terms. For example, if A, B, and C are three literals or inputs of any combinational circuit and Y is the function, then the SOP expression may be written as given below:

`Y = ABC + AB'C + AC`

Or

`Y = A'BC + B'C + A'C'`

etc. are some of the examples of SOP boolean expressions.

And if you want to find out the boolean expression in SOP form through the given truth table, then consider an example and learn about it. Let the given truth table read:

A B F
0 0 1
0 1 1
1 0 0
1 1 0

Here A and B are the two literals or variables, and F is the function.

As previously stated, SOP is only concerned with 1. That is, SOP only looks up where the function F holds 1 as its value. In the above truth table, if we remove all the rows where F holds 0, then the table will become:

A B F
0 0 1
0 1 1

Therefore, the expression in the SOP form will be:

`F(A,B) = A'B' + A'B`

Note: While writing the expression, we have to write the complement version of all those literals that contain 0 as their value to make it 1. That is, if A contains 0 as its value in the first row, and if we take the complement of A, then A will become A', and therefore 0 will become 1 as its value in that row.

As we can see from the above expression, that is A'B'+A'B which is the sum of product of few literals; therefore, it is called the SOP, or sum of product form.

Each product term in SOP boolean expression form is made up of one or more literals. Here, literals may be in their complemented or uncomplemented (natural or original) form.

Now let's take an example to understand it in a more clear way. Here we have designed a table in which there are three variables. Therefore, with 3 variables, we can create a total of 23 or 8 combinations from 000 to 111 where the first digit belongs to the first variable, the second digit belongs to the second variable, and so on, as shown in the table given below:

Decimal Binary Minterm Designation
0 000 A'B'C' m0
1 001 A'B'C m1
2 010 A'BC' m2
3 011 A'BC m3
4 100 AB'C' m4
5 101 AB'C m5
6 110 ABC' m6
7 111 ABC m7

As you can see from the above table, some literals that contain 0 are complemented to make it 1.

Row that contains the decimal number value of 0, then its binary representation will be 000 (for a three-variable function), where A belongs to the first digit, which is 0 in this row, B belongs to the second digit, which is also 0, and C belongs to the third digit, which is again 0 in this row. And here all the literals have the value 0, so to make it 1 as a result, we have to complement all the literals, which we have already done. Because, in the case of an AND gate, we must have all of the input's values as 1, and here in the first row ABC contains 000, we have put all of the literal's values as 1, which means A = 1, B = 1, and C = 1.For this, we have simply complemented the literal, that is A', B', and C'.

In the same way as described above, we have done the required complement of all the literals in each and every row where it contains 0.

## SOP: Minterm

Minterm is defined as: "In any function, there are some particular number of variables, and if all the variables are in the product term in any way, either in complemented or uncomplemented form, it is called minterm." For example, let's take an expression:

`F(A,B,C) = ABC + BC + A'BC' + A'B`

Here, we have a function of three variables that has the expression given above. As we can see from the above boolean expression in SOP form, we have only two product terms that hold all three variables, which are ABC and A'BC'. Therefore, these two terms can be called minterms.

Or, in simple words, minterms are all those product terms that contain all the variables that are in the function. Here, literals or variables may be either in their complemented or uncomplemented form.

### How to Calculate the Total Number of Minterm

In a n-variable function, the total number of minterms = 2n.

For example, in a 3-variable function, the total number of minterms = 23 or 2x2x2 or 8 minterms.

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

Now let's take an example to understand how to create a SOP boolean expression with the help of a given truth table. The given truth table is:

A B C F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0

In the above truth table, we have 1 at some places of function. We have a total of three 1s present at the 1st, 2nd, and 4th positions. As at the 0th, 3rd, 5th, 6th, and 7th positions, there is 0.

Therefore, we have three minters, that is, m1, m2, and m4.

Now, we have to write the literal's product term three times as given below in SOP form:

`ABC + ABC + ABC`

Now, if we look at the truth table, we have three minterm. And in the 1st row, the literals A hold 0, B hold 0, and C hold 1. As A and B hold 0, therefore we have to complement them to make it 1. Similarly, follow the same procedure for the 2nd and 4th rows. Therefore, after performing this procedure, the above equation will become:

`A'B'C + A'BC' + AB'C'`

A'B'C represents the first minterm (m1), A'BC' represents the second minterm (m2), and AB'C' represents the fourth minterm (m4).

Finally, we can write the complete boolean expression in SOP form as:

`F(A,B,C) = A'B'C + A'BC' + AB'C'`

## Creating a Truth Table with SOP Boolean Expressions

After learning all the steps and procedures as given above, you can also design the truth table itself with the help of the given boolean expression in SOP form.

Let's take an example to understand it in a clear and practical way. Here is the SOP boolean expression:

`AB'C + AB'C' + A'BC'`

As can be seen, the above expression is written in SOP form. And in SOP form, the uncomplemented literal or variable holds 1 and the complemented literal holds 0. Therefore, the binary representation of the first product term in the above expression, which is AB'C is equal to 101, AB'C' equals 100, and A'BC' equals 010. In decimal, the binary numbers 101, 100, and 010 represent 5, 4, and 2 respectively.

Therefore, we have three minters, which are m2, m4, and m5. And we can represent the function as:

`F(A,B,C) = ∑m(2,4,5)`

And the truth table with minterm and designation of the above equation will be:

Decimal Binary Minterm Designation
2 010 A'BC' m2
4 100 AB'C' m4
5 101 AB'C m5

And the complete truth table, using only three variables and functions from the preceding equation, will be:

A B C F
0 0 0 0
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

## SOP Form Example

Let's take another example of an SOP form. The truth table is given here:

A B C F
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

In boolean algebra, the above function F can be expressed either in SOP or POS form, but now we are dealing only with SOP form. Therefore, let's get started to find out the boolean expression in SOP using the given truth table.

As we all know, 1 represents high and 0 represents low.The SOP expression is written only when the function is high, and from the above truth table, we have a total of 5 times where the function is high. It means we have a total of 5 product terms that will be needed to make it in SOP form.

At first, the function is high when A is low, B is high, and C is low. Therefore, the product term in this case will be A'BC'. Hence, where the variable is low, we have to complement it to make it high.

And as we all know, the AND operator that operates on three variables will give the output as 1 only when all three input variables are 1.

Therefore, we must complement the variable (if it carries 0) to make it 1. And if the variable is 1, we must leave it in its uncomplemented, or natural, form.

Therefore, the above truth table gives the function as written below:

`F(A,B,C) = A'BC' + AB'C' + AB'C + ABC' + ABC`

The above expression, as written in the truth table, is in standard SOP or canonical SOP form.

Therefore, the minterms will be m2, m4, m5, m6, and m7. And finally, the function can be written as:

`F(A,B,C) = m2 + m4 + m5 + m6 + m7`

Or

`F(A,B,C) = ∑m(2,4,5,6,7)`

Computer Fundamentals Quiz

« Previous Tutorial Next Tutorial »