Boolean Algebra is a simple and effective way of representing the switching action of standard logic gates and a set of rules or laws have been invented to help reduce the number of logic gates needed to perform a particular logical operation. Boolean Algebra is the digital logic mathematics we use to analyse gates and switching circuits such as those for the AND, OR and NOT gate functions, also known as a “Full Set” in switching theory.

In mathematics, the number or quantity obtained by multiplying two (or more) numbers together is called the *product*. For example, if we multiply the number 2 by 3 the resulting answer is 6, as 2*3 = 6, so “6” will be the product number.

In Boolean Algebra, the multiplication of two integers is equivalent to the logical AND operation thereby producing a “Product” term when two or more input variables are “AND’ed” together. In other words, in Boolean Algebra the AND function is the equivalent of multiplication and so its output state represents the product of its inputs.

### AND Gate (Product)

Unlike conventional mathematics which uses a *Cross* (x), or a *Star* (*) to represent a multiplication action, the AND function is represented in Boolean multiplication by a single “dot” (.). Thus the Boolean equation for a 2-input AND gate is given as: Q = A.B, that is Q equals both A AND B. For a product 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 product terms.

## The Product (AND) Term

So we now know that in Boolean Algebra, “product” means the AND’ing of the terms with the variables in a product term having one instance in its true form or in its complemented form so that the resulting product cannot be simplified further. These are known as *minterms*. So how can we show the operation of this “product” function in Boolean Albegra.

A *product 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 and produce a product result as shown in the following lists.

### Boolean Algebra Product Terms

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

- Constants Only
- 0 . 0 = 0
- 0 . 1 = 0
- 1 . 0 = 0
- 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 product 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.

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

## 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. We will look at the OR function and Boolean addition in more detail in the next tutorial, but for now we will remember that an OR function represents the **Sum Term**.

## Sum of Products

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

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

### Sum of Product Expression

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 sum of products forms like that shown below but they can be converted to a standard SOP form by expanding the expression. So:

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

Becomes in sum-of-product terms:

Q = A.B.C + A.B.C + ABC

Actually this large SOP expression can be reduced further using the laws of Boolean algerbra to give a reduced SOP expression of:

Q = A.B + A.C

## Converting an SOP Expression into a Truth Table

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

Consider the following *sum of product* 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 “1”.

### Sum of Product Truth Table Form

Inputs | Output | Product | ||

C | B | A | Q | |

0 | 0 | 0 | 0 | |

0 | 0 | 1 | 0 | |

0 | 1 | 0 | 0 | |

0 | 1 | 1 | 1 | A.B.C |

1 | 0 | 0 | 0 | |

1 | 0 | 1 | 1 | A.B.C |

1 | 1 | 0 | 1 | A.B.C |

1 | 1 | 1 | 0 |

Then we can clearly see from the truth table that each product row which produces a “1” for its output corresponds to its Boolean multiplication expression with all of the other rows having a “0” output as a “1” is always outputted from an OR gate.

Clearly the advantage here is that the truth table gives us a visual indication of the Boolean expression allowing us to simplify the expression. For example, the above sum-of-product term can be simplified to: Q = A.(B + B.C) if required.

## Sum-of-Product Example

The following Boolean Algebra expression is given as:

Q = A(BC + BC + BC) + ABC

1. Convert this logical equation into an equivalent SOP term.

2. Use a truth table to show all the possible combinations of input conditions that will produces an output.

3. Draw a logic gate diagram for the expression.

1. Convert to SOP term

Q = A.B.C + A.B.C + A.B.C + A.B.C

2. Truth Table

### Sum of Product Truth Table Form

Inputs | Output | Product | ||

C | B | A | Q | |

0 | 0 | 0 | 0 | |

0 | 0 | 1 | 0 | |

0 | 1 | 0 | 1 |
A.B.C |

0 | 1 | 1 | 0 | |

1 | 0 | 0 | 1 |
A.B.C |

1 | 0 | 1 | 0 | |

1 | 1 | 0 | 1 |
A.B.C |

1 | 1 | 1 | 1 |
A.B.C |

3. Logic Gate SOP Diagram

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