Maggie
JohnsonΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ Handout
#9
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ CS103A
Boolean Algebra
Key Topics
α
Introduction
α
Boolean
Operators
α
Boolean
Expressions and Functions
α
Boolean
Identities
α
More on
Boolean Functions
α
Functional
Completeness
α
Simplification
of Boolean Functions
α
Karnaugh
Maps
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ
Introduction
The
circuits in computers have inputs (0 or 1) and produce outputs (0 or 1).Κ Circuits can be constructed using any basic
unit that has two different states, one for the 0 input/output, and one for the
1 input/output.Κ Typically, such units
are in the form of switches that can be either on or off.
In
1938, Claude Shannon showed how the rules of propositional logic could be used
to design circuits (in his Master's thesis at MIT).Κ These rules form the basis for Boolean algebra.Κ A Boolean
algebra is just the operations and rules used for working with the set {0,1}
where 0 and 1 can take on different meanings.Κ
Propositional Logic (which he have been studying) is a Boolean algebra.
Boolean Operators
The
main Boolean operators we will use are complement,
sum and product.Κ The complement of
an element (which always has a value of 0 or 1) is denoted with a single quote:
0' = 1 and 1' = 0.Κ The Boolean sum
denoted by + or OR has the following values:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1
+ 1 = 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1
+ 0 = 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0
+ 1 = 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0
+ 0 = 0
The
Boolean product denoted by π or by AND has the following values:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1
π 1 = 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1
π 0 = 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0
π 1 = 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0
π 0 = 0
Typically,
the π is dropped so x π y = xy.Κ The
rules of precedence for these operators are: complement, product, sum.Κ Therefore, the value of
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1 π 0 + (0 +
1)'Κ ΚΚΚΚΚΚΚΚΚΚ =Κ 1 π 0 + 1'
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ =Κ 1 π 0 + 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ =Κ 0 + 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ =Κ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ
Boolean Expressions and
Functions
x
is a Boolean variable if it can only
assume the value of either 0 or 1.Κ A Boolean function is a function whose
domain is a set of n-tuples of 0's and 1's, and whose range is an element of
the basic Boolean set {0,1}.Κ We always
display the values of a Boolean function in a truth table. A Boolean expression on the Boolean
variables {x1, x2, ..., xn} is an expression
using those variables and the operations of a boolean algebra.Κ
Every
Boolean expression defines a Boolean function.Κ
The values of this function are obtained by substituting 0 and 1 for the
variables in the expression.Κ For
example, we can define a Boolean expressionΚ
xy + xy' by a Boolean function F(x,y) = xy + xy'.Κ The values of this function are displayed in
the table below - all we did was substitute all possible values for the
variables.
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xΚΚΚΚΚΚΚΚΚ yΚΚΚΚΚΚΚΚΚ xyΚΚΚΚΚΚΚΚ xy'ΚΚΚΚΚΚΚ F(x,y)
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1
The
domain in this function is the 2-tuple which represents the values of x and
y.Κ The range is {0,1} in the last
column.Κ The n-tuple of a Boolean
function is just the possible values of the variables. Two Boolean expressions
are equivalent if they represent the
same function (i.e., have the same truth table).
Boolean Identities
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ IdentityΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ NameΚΚΚΚΚΚΚΚΚΚΚΚΚΚ
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ (x')' = xΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ Involution
Law
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x + x' = 1ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ Complementarity
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x π x' = 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x + x = xΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ Idempotent Laws
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x π x = x
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x + 0 = xΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ Identity Laws
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x π 1 = x
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x + 1 = 1ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ Dominance Laws
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x π 0 = 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x + y = y + xΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ Commutative Laws
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xy = yx
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x + (y + z) = (x + y) +
zΚΚΚΚΚΚΚΚΚΚΚ Associative Laws
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x(yz) = (xy)z
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x + yz = (x + y)(x + z)Κ Distributive Laws
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x(y + z) = xy + xzΚΚΚΚΚΚΚΚ
ΚΚΚΚΚΚΚΚΚΚΚ
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ (xy)' = x' + y'ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ DeMorgans Laws
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ (x + y)' = x'y'
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x + (xy) = xΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ Absorption Laws
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x(x + y) = x
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x + x'y = x + yΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ Redundancy Laws
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x(x' + y) = xy
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xy + x'z + yz = xy + x'z Consensus Laws
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ (x+y)(x'+z)(y+z) =
(x+y)(x'+z)
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ
There
is a duality principle which applies to all Boolean algebras.Κ In the definition of the identities above,
we always include two parts that represents the dual identities.Κ The only different is we interchange π and
+, and 0 and 1.Κ Any proven theorem is
automatically true for the dual of the theorem.
In
Boolean algebra, we can prove the identities using truth tables or using other
identities.Κ So, for example the
distributive law is proven true by the last two columns of the following table:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xΚΚΚΚΚΚΚΚΚ yΚΚΚΚΚΚΚΚΚ zΚΚΚΚΚΚΚΚΚΚ y+zΚΚΚΚΚΚ xyΚΚΚΚΚΚΚΚ xzΚΚΚΚΚΚΚΚ x(y+z)ΚΚΚΚΚΚΚΚΚΚΚΚΚ xy+xz
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0
A
proof of the absorption lawΚ x(x + y) =
xΚΚ using identities:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x(x + y) ΚΚΚΚΚΚΚΚΚΚ = (x + 0)(x + y)ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ identity law
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ =
x + 0 π yΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ distributive
law
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ =
x + y π 0ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ commutative
law
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ =
x + 0ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ dominance
law
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ =
xΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ identity
law
More on Boolean Functions
In
preparation for using all the above information to build circuits, we need to
be able to solve two basic problems:
ΚΚΚΚΚΚΚΚΚΚΚ 1) Given a table of values for a
Boolean function, how do we derive the
ΚΚΚΚΚΚΚΚΚΚΚ corresponding Boolean expression?
ΚΚΚΚΚΚΚΚΚΚΚ 2) Is there a smaller set of
operators that can be used to represent a Boolean
ΚΚΚΚΚΚΚΚΚΚΚ function?
First,
question 1.Κ Given the following table,
how do we figure out the corresponding Boolean expression?
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xΚΚΚΚΚΚΚΚΚ yΚΚΚΚΚΚΚΚΚ zΚΚΚΚΚΚΚΚΚΚ FΚΚΚΚΚΚΚΚΚ G
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0
Notice
that the only time that F is 1 is when x = z = 1 and y = 0.Κ This translates to xy'z meaning that the
expression xy'z has the value 1 if and only if x = y' = z = 1.Κ G is 1 in two cases: x = y = 1 and z = 0,
and x = z = 0 and y = 1.Κ When we have
to deal with two or more cases, we represent the sum of the two products:Κ xyz' + x'yz'.Κ This is the Boolean expression for G.
This
illustrates a basic method for constructing an expression from the values of a
Boolean function.Κ A minterm of the Boolean variables x1, x2,
..., xn is a Boolean product y1y2...yn
where yi = xi or yi = xi'.Κ A minterm has a value of 1 if and only if
all the values of its variables are 1.Κ
So, if x = y = 1 and z = 0 then xyz' is the minterm that equals 1.
By
taking Boolean sums of minterms, we can build up a Boolean expression that
represents the values of a function represented by a table.Κ The minterms in this sum correspond to those
combinations of the values for which the function has a value of 1.Κ This Boolean sum is sometimes called a sum of products expansion or disjunctive normal form.Κ
There
is an dual entity called a maxterm
which is a product of sums expansion
(conjunctive normal form).Κ The table below shows the duality:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xΚΚΚΚΚΚΚΚΚ yΚΚΚΚΚΚΚΚΚ zΚΚΚΚΚΚΚΚΚΚ mintermΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ maxterm
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ x'y'z'ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x+y+z
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ x'y'zΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x+y+z'
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ x'yz'ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x+y'+z
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ x'yzΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x+y'+z'
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ xy'z'ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x'+y+z
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ xy'zΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x'+y+z'
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ xyz'ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x'+y'+z
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ xyzΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x'+y'+z'
For
the following Boolean functionΚ F(x,y,z)
= (x+z) y
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xΚΚΚΚΚΚΚΚΚ yΚΚΚΚΚΚΚΚΚ zΚΚΚΚΚΚΚΚΚΚ x+zΚΚΚΚΚΚ (x+z)
y
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1
xyz
+ xyz' + x'yz is the minterm expression;
(x+y+z)(x+y+z')(x+y'+z)(x'+y+z)(x'+y+z') is the maxterm expression.Κ Every Boolean function has both a minterm
and maxterm expansion.
Functional Completeness
The
other question posed in the previous section was: Do we need all three
operators to express Boolean functions?Κ
As shown above, it's easy with {' + π} - since every Boolean function
can be expressed with these three operators, we say the set is functionally complete.Κ Is there a smaller set of functionally
complete operators?Κ There is a smaller
set if one of the three operators can be expressed in terms of the other two.Κ For example:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x
+ y = (x'y')'
which
means we can get rid of the + operatorΚ
(this is an application of DeMorgan's Law).Κ So, the set of {' π} is functionally complete.Κ In a similar way we can eliminate Boolean
products:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xy
= (x' + y')'
Is
the set {+ π} functionally complete?Κ
There is no way to represent the Boolean function F(x) = x' using these
two operators, so this set is not functionally complete.Κ
Finally,
is there a set of one operator that is functionally complete?Κ Only if we define a new operator.Κ We could define a NAND operator "|" as follows:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xΚΚΚΚΚΚΚΚΚ yΚΚΚΚΚΚΚΚΚ x
| y
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0
This
set is functionally complete.Κ To prove
this, we know that the set {π '} is functionally complete so all we have to do
is show that these two operators can be expressed using |:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ x'
= x | x
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xy
= (x | y) | (x | y)
A
similar operator that is functionally complete is the NOR operator: ?
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xΚΚΚΚΚΚΚΚΚ yΚΚΚΚΚΚΚΚΚ x
? y
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0
We
know that any Boolean function can be built from ANDs, ORs, and NOTs using
minterm expansion.Κ However, a
practicing computer engineer will very rarely be satisfied with a minterm
expansion, because as a rule, it requires more gates than necessary. The laws
and identities of Boolean algebra will almost always allow us to simplify a
minterm expansion. For example, the minterm expansion for a Boolean function f
of three variables might be represented as follows (taking the values directly
from the truth table):
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ f = x'y'z' +
x'y'z + x'yz' + x'yz + xyz' + xyz
This
would require a circuit with maximum gates: 12 ANDs, 5 ORs and 9 NOTs.Κ Using the identities of Boolean algebra,
this minterm expansion can be simplified considerably:
ΚΚΚΚΚΚΚΚΚΚΚ f ΚΚΚΚΚΚΚΚΚ =
x'y'z' + x'y'z + x'yz' + x'yz + xyz' + xyz
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ = x'y'(z' + z) + x'y(z'
+ z) + xy(z' + z)ΚΚΚ distributive law
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ = x'y' + x'y + xyΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ complementarity
& identity
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ = x'(y' + y) + xyΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ distributive
law
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ = x' + xyΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ complementarity
& identity
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ = x' + yΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ redundancy
So,
that big long minterm reduces down to x' + y which can be built with 1 OR and 1
NOT.Κ This is an important point, but
reducing minterms can require a lot of luck knowing which identities to apply
when.Κ Therefore, we will look at a very
simple technique that usually leads to a significant simplification of minterms.Κ It won't always produce the simplest form,
but it's close enough for most engineers considering the difficulty of the
alternative method.
Karnaugh Maps
Karnaugh maps were invented by Maurice Karnaugh, a
telecommunications engineer.Κ He
developed them at Bell Labs in 1953 while studying the application of digital
logic to the design of telephone circuits.Κ
This method is typically used on Boolean functions of two, three or four
variables - past that, it gets quite cumbersome and other techniques are frequently
used.
A
Karnaugh map is a 2-dim representation of the truth table for a Boolean
function.Κ For example:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ xΚΚΚΚΚΚΚΚΚ yΚΚΚΚΚΚΚΚΚ zΚΚΚΚΚΚΚΚΚΚ f(x,y,z)
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 0ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ 1ΚΚΚΚΚΚΚΚΚ
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 
Each
of the eight cells in the map corresponds toΚ
one of the eight possible combinations of x, y, & z.Κ The templates for 2 and 4 variable Karnaugh
maps are given below.
ΚΚΚΚΚΚΚΚΚΚΚ 
Once
we have placed the 1's in the map, there is a simple procedure that we
apply.Κ Before doing that though, it is
necessary to understand the basis for the procedure.Κ The reason Karnaugh maps are useful is because certain simple
Boolean functions have simple Karnaugh maps.Κ
These simple functions are called product
functions;Κ they are products of
some or all of the variables and their
complements.Κ For example, x1,
x2'x4 and xyz are all product functions but x1
+ x2' and xy + zw are not.
Take
the product function f(x,y,z) = xz.Κ
This function accepts two inputs 101 and 111.Κ Its Karnaugh map:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 
Notice
that the 1's lie in a 1x2Κ rectangular
block.Κ Another example is g(x,y,z) =
y'.Κ This function accepts
000,001,100,101 (since for all the other possibilities y = 1 and therefore y' =
0).Κ Its Karnaugh map:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 
The
minterms for this one lie in a 2x2 rectangular block.Κ It turns out that every product function has a Karnaugh map whose
minterms are confined to a block whose sides are 1, 2 or 4 cells long.Κ Thus, it becomes important to recognize what
product function is represented by a particular Karnaugh map.
To
do this, first write down the truth set (the set of combinations with a value
of 1 from the map).Κ For example:
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 
The
truth set is {011, 111}.Κ Next, we
analyze the values of the truth set.Κ If
the variables are x, y, and z, we notice that x can be 0 or 1; while y and z can
be only 1.Κ We characterize this
analysis as follows: {*11} where the "*" is a wildcard.Κ If the unknown product function involved x,
it would only accept inputs for which x assumed some particular value.Κ Since x can be either 0 or 1, we conclude
that x is not involved.Κ y, on the other
hand, must be involved since y = 1 for all inputs.Κ So y must be a term (not y'); the same is true for z.Κ The product function is yz.
Just
for practice, what are the product functions associated with the following Karnaugh
maps?

1)
truth set: {011, 010, 111, 110} = {*1*}.Κ
The product function never includes wildcard variables; the function is:
y.
2)
truth set: {010} so the function is x'yz'.
3)
truth set: {000, 100, 010, 110} = {**0} = z'.Κ
Notice that the rectangular block wraps around.
Finally,
try some 2 and 4 variable maps:
ΚΚΚΚΚΚΚΚΚΚΚ 
1)
truth set = {00, 10} = {*0} = y'
2)
(variables are wxyz): truth set = {0001, 0011, 1001, 1011} = {*0*1} =Κ x'z.
The
reason this is all so important is any Boolean function with the same Karnaugh
map as, for example, the ones above, can be represented by the same
expression.Κ Another expression with the
same Karnaugh map as the two-variable one above: x'y' + xy' + x'yxy; therefore,
we can represent this as y' and build a circuit as such.
Unfortunately,
not all expressions work out to be equivalent to product function Karnaugh
maps. The first example we looked at did not break down into a 1, 2, or 4 cell
rectangular block.
ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚ 
We
can handle these too by decomposing the blocks into a union of two product
blocks, one representing the varialbe x'Κ
(the ones across the top indicate a 0 value for x) and one representing
y (the two ones on the bottom indicate a 1 value for y).Κ The function is x' + y, which is exactly the
conclusion we came to earlier.Κ All we
are doing is ORing the two product functions together.Κ We did not bother to show the truth sets for
these two blocks ({000, 001, 011, 010} = {0**} = x') - you will reach the same
conclusion.
This
technique can be applied to any Boolean function.Κ The idea is to cover the terms using as few product blocks as
possible.ΚΚ Then, write the function as
a sum of these product blocks.Κ It's
important that the blocks are as large as possible or you may not end up with
the simplest expression.Κ For example,
in the map above, we could have used three blocks: one horizantal for the first
two ones in the top row, and then two vertical blocks.Κ This would give the expression: x'y' + yz +
yz'.Κ This is equivalent, but inferior.
What
if you block off the first two ones in the first row and then the four ones
across the two rows?Κ The expression is:
x'y' + y; again it's equivalent but not as simple as the first.Κ (An application of the redundancy law will
simplify this further).Κ It's important
to carefully pick the blocks or you may not end up with the simplest
expression.
The
product blocks that make up a representation for an expression are called implicants.Κ x'y' , yz and yz' are all implicants the expressionΚ x'y' + yz + yz'.Κ Implicants that cover as many cells of the map as possible are
called prime implicants.Κ The rule of the game, therefore, is cover the minterms with as few prime
implicants as possible.
As
additional practice, simplify the following functions represented by Karnaugh
maps:
ΚΚΚΚΚΚΚΚΚΚΚ 
1)
x'z' + yz'
2)
w'x + xyz' + wx'z x'y'z'
Notice
that you can overlap the blocks if ncessary:
ΚΚΚΚΚΚΚΚΚΚΚ 
Karnaugh
maps are certainly easier to deal with than using identities to simpify Boolean
functions.Κ However, the trick is
finding the right set of blocks to get the simplest expression.Κ This takes practice; there is no simple rule
that tells how it should be done.
Bibliography and Historical
Notes
*
The study of deduction in logic dates back to Aristotle.Κ Boole developed the algebra of propositions,
and it is from this work that Boolean algebra comes.
G.
Boole, An Investigation of the Laws of
Thought, 1854, reprinted by New York: Dover ΚΚ Press, 1958.
*
For more on Boolean algebra:
S.
Epp, Discrete Mathematics with
Applications, Belmont, CA: Wadsworth, 1990.
R.
Grimaldi, Discrete and Combinatorial
Mathematics, 2nd ed., Reading, MA: Addison-Wesley, 1989.
F.E.
Hohn, Applied Boolean Algebra, 2nd ed.,
New York: Macmillan, 1966.
Z.
Kohavi, Switching and Finite Automata
Theory, 2nd ed., New York: McGraw-Hill, 1978.
K.
Rosen, Discrete Mathematics and its
Applications 4nd Ed., New York: McGraw-Hill, ΚΚΚ 1999.
*
Karnaugh maps were introduced in:
M.
Karnaugh, "The Map Method for Synthesis of Combinatorial Logic
Circuits," ΚΚΚΚΚΚΚΚΚ Transactions of the AIEE, 72 (1953),
593-599.