Normal Forms
127
Example 7. Let * be the formula
* = -((p -- (q V r)) A (-q) A (-r) A p)
Find a CNF for *1.
Solution. The negation of * is equivalent to
(p - (q V r)) A (--q) A (-"r) A p
which in Example 3 was shown to have F as a DNE So, * is equivalent to -F, and
pushing negations inward gives the CNF formula T.
U
2.5.4 Application: CNF and Combinatorial Networks
To interpret the CNF for a boolean expression, we view a clause as a meet of a set of
literals. The CNF for a formula is viewed as a join of a set of clauses. The CNF for a
boolean expression gives us another option to use when designing combinatorial circuits.
Example 8. Let x, y be elements of a boolean algebra. Use the CNF for the boolean
expression (x A y) V (-,x A --y) to design a combinatorial circuit.
Solution. The truth table for the expression is
x
y Ix Ay
('-,x A-y)
(x Ay) V(-X A-"y)
S
T
F
T
T F
F
F
F
F T
F
F
F
S
F
T
T
The DNF for - ((x A y) V (-,x A -,y)) is just
(x A -y) V (--x A y)
Therefore, the CNF for (x A y) V (-,x A -y) is
-- ((x A -y) V (-.x A y)) = -'(x A -y) A -- (-'x A y)
=(--X V •--y) A (----X V -y)
= (-'x V y) A (x V -y)
The combinatorial circuit for this boolean expression is
Y
X
X V -
(X V -,y) "A (-X V y)
x @••
xv Y F
y
U
2.5.5 Testing Satisfiability and Validity
It turns out to be very easy to tell when a formula in DNF is satisfiable. This is one reason
why a DNF is often nice to work with.
127
Example 7. Let * be the formula
* = -((p -- (q V r)) A (-q) A (-r) A p)
Find a CNF for *1.
Solution. The negation of * is equivalent to
(p - (q V r)) A (--q) A (-"r) A p
which in Example 3 was shown to have F as a DNE So, * is equivalent to -F, and
pushing negations inward gives the CNF formula T.
U
2.5.4 Application: CNF and Combinatorial Networks
To interpret the CNF for a boolean expression, we view a clause as a meet of a set of
literals. The CNF for a formula is viewed as a join of a set of clauses. The CNF for a
boolean expression gives us another option to use when designing combinatorial circuits.
Example 8. Let x, y be elements of a boolean algebra. Use the CNF for the boolean
expression (x A y) V (-,x A --y) to design a combinatorial circuit.
Solution. The truth table for the expression is
x
y Ix Ay
('-,x A-y)
(x Ay) V(-X A-"y)
S
T
F
T
T F
F
F
F
F T
F
F
F
S
F
T
T
The DNF for - ((x A y) V (-,x A -,y)) is just
(x A -y) V (--x A y)
Therefore, the CNF for (x A y) V (-,x A -y) is
-- ((x A -y) V (-.x A y)) = -'(x A -y) A -- (-'x A y)
=(--X V •--y) A (----X V -y)
= (-'x V y) A (x V -y)
The combinatorial circuit for this boolean expression is
Y
X
X V -
(X V -,y) "A (-X V y)
x @••
xv Y F
y
U
2.5.5 Testing Satisfiability and Validity
It turns out to be very easy to tell when a formula in DNF is satisfiable. This is one reason
why a DNF is often nice to work with.
