Professional Documents
Culture Documents
Boolean Algebra
Boolean Algebra
1. Introduction
In 1854 George Boole introduced a systematic treatment of logic and developed for this purpose
an algebraic system known as symbolic logic, or Boolean algebra. Boolean algebra is a branch of
mathematics and it can be used to describe the manipulation and processing of binary
information. The two-valued Boolean algebra has important application in the design of modern
computing systems.
2. Boolean Algebra
Boolean algebra uses Boolean variables and Boolean operators. Boolean variables are
binary variables and Boolean operators are logical operators. Some examples of Boolean
variables are A, B, C, a, b, c, X, Y, and Z. There are three basic logical operators: AND,
OR, and NOT. A Boolean expression is a combination of Boolean variables and
Boolean operators. There are many Boolean expressions that are logically equivalent to
one another. There are called equivalent expressions.
A Boolean function typically has one or more input variables and produces a result that
is based on these input values. The result can have a value of 0 or 1.
Most of the subsystems of a digital system take the form of a switching network. A
switching network has one or more inputs and can have one or more outputs. Each
output can be represented by a Boolean function with n variables.
Truth Tables
A Boolean function can be uniquely and completely described using a truth table of n
input variables. A truth lists all possible values of input combinations of the function and
the values of the outputs for all these input combinations. A truth table is a useful visual
tool for defining the input-output relationship of binary variables in a Boolean function.
A function of n variables has 2n rows of possible input combinations, each row specifying
the value of the function for a different combination. A truth table can be used to
represent one or more functions.
Examples:
x y F a b F1 F2
---------------- ----------------------
0 0 0 0 0 0 0
0 1 1 0 1 0 1
1 0 1 1 0 0 1
1 1 1 1 1 1 0
Given a Boolean expression, the dual is formed by replacing AND with OR, OR with
AND, 0 with 1, 1 with 0, and variables and complements unchanged. The duality
principle states that if two Boolean expressions are equal, then their duals are also equal.
Idempotent Laws
x+x=x xx =x
Involution Law
(x’)’ = x
Laws of Complementarity
x + x’ = 1 (Inverse law in OR form)
x x’ = 0 (Inverse law in AND form)
Commutative Laws
x+y=y+x xy =yx
Associative Laws
(x + y) + z = x + (y + z) = x + y + z
(x y) z = x (y z) = x y z = xyz
Distributive Law
x (y+z) = x y +x z
or x(y+z) = xy + xz
Absorption Laws
x (x+y) = x x + xy = x
DeMorgan’s Laws
(x+y)’ = x’ y’
(x y)’ = x’ + y’
A minterm is a product term that includes all variables of a function and each variable is
either in uncomplemented form or in complemented (inversed) form. A minterm is also
called a canonical product term. A minterm is a product term, but a product term may
or may not be a minterm. A maxterm is a sum term of all variables in which each
variable is either in complemented form or in uncomplemented form. A maxterm is also
called a canonical sum term. A maxterm is a sum term, but a sum term may or may not
be a maxterm.
The following are examples of product term, minterm, sum term, and maxterm for a
function of three variables a, b, and c:
A minterm is represented by the symbol mj, where the subscript j is the decimal
equivalent of the minterm. A maxterm is represented by the symbol Mj, where the
subscript j is the decimal equivalent of the maxterm.
Example (Exclusive OR function, XOR):
a b F minterms maxterms
---------------- ---------------------------------
0 0 0 M0 = (a+b)
0 1 1 m1= a’b
1 0 1 m2 = ab’
1 1 0 M3 = (a’+b’)
Either the sum of minterms or the product of maxterms as shown below can represent the
Exclusive OR function:
The expressions a’b + ab’ and (a+b)(a’+b’) are equivalent expressions for the XOR
function.
Minimization Procedure
1. Construct a K-map.
2. Find all groups of horizontal or vertical adjacent cells that contain 1.
a. Each group must be either rectangular or square with 1, 2, 4, 8, or 16 cells.
b. Each group should be as large as possible.
c. Each cell with 1 on the K-map must be covered at least once. The same
cell can be included in several groups if necessary.
d. Select the least number of groups so as to cover all the 1’s.
e. Adjacency applies to both vertical and horizontal borders.
3. Translate each group into a product term.
(Any variable whose value changes from cell to cell drops out from the term)
4. Sum all the product terms.
Note: Don't care conditions can be used to provide further simplification of a Boolean
Expression.
Examples
a b c F
-------------------
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0