In the tutorial about the Sum-of-Product (SOP) expression, we saw that it represents a standard Boolean (switching) expression which “Sums” two or more “Products” by taking the output from two or more logic AND gates and OR’s them together to create the final output. But we can also take the outputs of two or more OR gates and connect them as inputs to an AND gate to produce a “Product of the Sum” (OR-AND logic) output.

In Boolean Algebra, the addition of two values is equivalent to the logical OR function thereby producing a “Sum” term when two or more input variables or constants are “OR’ed” together. In other words, in Boolean Algebra the OR function is the equivalent of addition and so its output state represents the “Sum” of its inputs.

**Product of Sum** expressions are Boolean expressions made up of sums consisting of one or more variables, either in its normal true form or complemented form or combinations of both, which are then AND’ed together. If a Boolean function of multiple variables is expressed in Product-of-Sum terms, then each term is called the max term. That is the variable is taken as a logic “0” as we will see later. But first let us understand more what represents a *Sum Term*.

## The Sum (OR) Term

While the AND function is commonly referred to as the *Product* term, the OR function is referred to as a sum term. The OR function is the mathemetical equivalent of addition which is denoted by a plus sign, (+). Thus a 2-input OR gate has an output term represented by the Boolean expression of A+B because it is the logical sum of A and B.

### OR Gate (Sum)

This logical sum is known commonly as Boolean addition as an OR function produces the summed term of two or more input variables, or constants. Thus the Boolean equation for a 2-input OR gate is given as: Q = A+B, that is Q equals both A OR B. For a sum term these input variables can be either “true” or “false”, “1” or “0”, or be of a complemented form, so A+B, A+B or A+B are all classed as sum terms.

So we now know that in Boolean Algebra, “sum” means the OR’ing of the terms with the variables in a sum term having one instance in its true uncomplemented form or in its complemented form so that the resulting sum expression cannot be simplified any further. These sum terms are known as *maxterms*, that is a max term is a complete sum of all the variables and constants with or without inversion within the Boolean expression. So how can we show the operation of this “sum” function in Boolean Albegra.

A *sum term* can have one or two independant variables, such as A and B, or it can have one or two fixed constants, again 0 and 1. We can use these variables and constants in a variety of different combinations producing a sum result as shown in the following lists.

### Boolean Algebra Sum Terms

- Variable and Constants
- A + 0 = A
- A + 1 = 1
- A + A = A
- A + A = 1

- Constants Only
- 0 + 0 = 0
- 0 + 1 = 1
- 1 + 0 = 1
- 1 + 1 = 1

Note that a Boolean “variable” can have one of two values, either “1” or “0”, and can change its value. For example, A = 0, or A = 1 whereas a Boolean “constant” which can also be in the form of a “1” or “0”, is a fixed value and therefore cannot change.

Then we can see that any given Boolean sum can be simplified to a single constant or variable with a brief description of the various Boolean Laws given below where “A” represents a variable input.

**Identity Law**– A term OR’ed with 0 is always equal to the term (A+0 = A)**Annulment Law**– A term OR’ed with 1 is always equal to 1 (A+1 = 1)**Idempotent Law**– A term OR’ed with itself is always equal to the term (A+A = A)**Complement Law**– A term OR’ed with its complement is always equal to 1 (A+A = 1)**Commutative Law**– The order in which two terms are OR’ed is the same (A+1 = 1+A)

## The Product (AND) Term

While the OR function is commonly referred to as the sum term, the AND function is referred to as the product term. The AND function is the mathemetical equivalent of multiplication which is denoted by a *Cross* (x), or a *Star* (*) sign. Thus a 2-input AND gate has an output term represented by the Boolean expression of A.B because it is the logical product of A and B.

### AND Gate (Product)

This logical product is known commonly as Boolean multiplication as the AND function produces the multiplied term of two or more input variables, or constants. But for now we will remember that the AND function represents the **Product Term**.

## Product of Sum

So we have seen that the OR function produces the logical sum of Boolean addition, and that the AND function produces the logical sum of Boolean multiplication. But when dealing with combinational logic circuits in which AND gates, OR gates and NOT gates are connected together, the expressions of **Product-of-Sum** is widely used.

The *Product of Sum* (POS) expression comes from the fact that two or more sums (OR’s) are added (AND’ed) together. That is the outputs from two or more OR gates are connected to the input of an AND gate so that they are effectively AND’ed together to create the final (OR AND) output. For example, the following Boolean function is a typical product-of-sum expression:

### Product of Sum Expressions

Q = (A + B).(B + C).(A + 1)

and also

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

However, Boolean functions can also be expressed in nonstandard product of sum forms like that shown below but they can be converted to a standard POS form by using the distributive law to expand the expression with respect to the sum. Therefore:

Q = A + (BC)

Becomes in expanded product-of-sum terms:

Q = (A + B)(A + C)

Another nonstandard example is:

Q = (A + B) + (A.C)

Becomes as an expanded product-of-sum expession:

Q = (A + B + A)(A + B + C)

which can, if required be reduced using *distributive law* and *absorption law* too:

Q = (A + B)(A + B + C)

Q = A + B + C

Q = A + B

## Converting an POS Expression into a Truth Table

We can display any product-of-sum term in the form of a truth table as each input combination that produces a logic “0” output is an OR or sum term as shown below.

Consider the following *product of sum* expression:

Q = (A + B + C)(A + B + C)(A + B + C)

We can now draw up the truth table for the above expression to show a list of all the possible input combinations for A, B and C which will result in an output “0”.

### Product of Sum Truth Table Form

Inputs | Output | Product | ||

C | B | A | Q | |

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

0 | 0 | 1 | 1 | |

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

0 | 1 | 1 | 1 | |

1 | 0 | 0 | 1 | |

1 | 0 | 1 | 1 | |

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

1 | 1 | 1 | 1 |

Then we can clearly see from the truth table that each row which produces a “0” for its output corresponds to its Boolean addition expression with all of the other rows having a “1” output. The advantage here is that the truth table gives us a visual indication of the Boolean expression allowing us to simplify the expression remembering that a sum term produces a “0” output when all of its inputs are equal to “0”. So to make a sum term row equal to “0”, the we must invert all the inputs which are equal to “1”.

## Product-of-Sum Example

The following Boolean Algebra expression is given as:

Q = (A + B + C)(A + B + C)(A + B + C)(A + B + C)

1. Use a truth table to show all the possible combinations of input conditions that will produces a “0” output.

2. Draw a logic gate diagram for the POS expression.

1. Truth Table

### Product of Sum Truth Table Form

Inputs | Output | Product | ||

C | B | A | Q | |

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

0 | 0 | 1 | 1 | |

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

0 | 1 | 1 | 1 | |

1 | 0 | 0 | 1 | |

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

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

1 | 1 | 1 | 1 |

2. Logic Gate Diagram

Then we have seen in this tutorial that the **Product-of-Sum** (POS) expression is a standard boolean expression that takes the “Product” of two or more “Sums”. For a digital logic circuit the POS expression takes the output of two or more logic OR gates and AND’s them together to create the final OR-AND logic output.