Discrete Mathematics CS 26 February 7
Equal Boolean Functions Two Boolean functions F and G of degree n are equal iff for all (x n,..x n ) B, F (x,..x n ) = G (x,..x n ) Example: F(x,y,z) = x(y+z), G(x,y,z) = xy + xz, and F=G (recall the truth table from an earlier slide) Also, note the distributive property: x(y+z) = xy + xz via the distributive law 2
Boolean Functions Two Boolean expressions e and e 2 that represent the exact same function F are called equivalent x x 2 x 3 F(x,x 2,x 3 ) F(x,x 2,x 3 ) = x (x 2 +x 3 )+x x 2 x 3 F(x,x 2,x 3 ) = x x 2 +x x 3 +x x 2 x 3 3
Boolean Functions More equivalent Boolean expressions: (x + y)z = xyz + xyz + xyz (x + y)z = xz + yz distributive = xz + yz identity = x(y + y)z + (x + x)yz unit = xyz + xyz + xyz + xyz distributive = xyz + xyz + xyz idempotent We ve expanded the initial expression into its sum of products form. 4
Boolean Functions More equivalent Boolean expressions: xy + z =?? = xy + z identity = xy(z + z) + (x + x)z unit = xyz + xyz + xz + xz distributive = xyz + xyz + x(y + y)z + x(y + y)z unit = xyz + xyz + xyz + xyz + xyz + xyz distributive = xyz + xyz + xyz + xyz + xyz idempotent 5
Representing Boolean Functions How to construct a Boolean expression that represents a Boolean Function? represents a Boolean Function? z y x F F(x y z) = if and only if: ( )( )( )+( ) + ( ) + F(x, y, z) = if and only if: (-x)(y)(-z) + (-x)yz + x(-y)z + xyz 6
Representing Boolean Functions How to construct a Boolean expression that represents a Boolean Function? x y z F F(x, y, z) = x y z + x y z + x y z + x y z z 7
Boolean Identities Double complement: x = x Idempotent laws: x + x = x, x x = x Identity laws: x + = x, x = x Domination laws: x + =, x = Commutative laws: x + y = y + x, x y = y x Associative laws: x + (y + z) = (x + y) + z x (y z) = (x y) z Distributive laws: x + y z = (x + y) (x + z) x (y + z) = x y + x z De Morgan s laws: (x y) = x + y, y (x + y) = x y Absorption laws: x + x y = x, x (x + y) = x the Unit Property: x + x = and Zero Property: x x = 8
Boolean Identities Absorption law: Show that x (x + y) = x ) x (x + y) = (x + ) (x + y) identity 2) = x + y distributive 3) = x + y commutative 4) = x + domination 5) = x identity 9
Dual Expression (related to identity pairs) The dual e d of a Boolean expression e is obtained by exchanging + with, and with in e. e Example: e = xy + zw e = x + y + e d =(x + y)(z + w) e d = x y Duality principle: e e 2 iff e d e 2 d x (x + y) = x iff x + xy = x (absorption)
Dual Function The dual of a Boolean function F represented by a Boolean expression is the function represented by the dual of this expression. The dual function of F is denoted by F d The dual function, denoted by F d, does not depend on the particular Boolean expression used to represent F.
Recall: Boolean Identities Double complement: x = x Idempotent laws: x + x = x, x x = x Identity laws: x + = x, x = x Domination laws: x + =, x = Commutative laws: x + y = y + x, x y = y x Associative laws: x + (y + z) = (x + y) + z x (y z) = (x y) z Distributive laws: x + y z = (x + y) (x + z) x (y + z) = x y + x z De Morgan s laws: (x y) = x + y, y (x + y) = x y Absorption laws: x + x y = x, x (x + y) = x the Unit Property: x + x = and Zero Property: x x = 2
Boolean Expressions Sets Propositions Identity Laws x = x, x = x +, Complement Laws x x =, x x = Associative Laws (x y) z = x (y z) (x y) z = x (y z) Commutative Laws x y = y x, x y = y x Distributive Laws x ( y z) = (x y) (x z) x (y z) = (x y) (x z) Propositional logic has operations,, and elements T and F such that the above properties hold for all x, y, and z. 3
DNF: Disjunctive Normal Form A literal is a Boolean variable or its complement. A minterm of Boolean variables x,,xx n is a Boolean product of n literals y y n, where y i is either the literal x i or its complement x. i minterms Example: x y z + x y z + x y z Disjunctive Normal Form: sum of products We have seen how to develop a DNF expression for a function if we re given the function s truth table. 4
CNF: Conjunctive Normal Form A literal is a Boolean variable or its complement. A maxterm of Boolean variables x,,xx n is a Boolean sum of n literals y y n, where y i is either the literal x i or its complement x. i maxterms Example: (x +y + z) (x + y + z) (x + y +z) Conjuctive Normal Form: product of sums 5
Conjunctive Normal Form To find the CNF representation of a Boolean function F. Find the DNF representation of its complement F 2. Then complement both sides and apply DeMorgan s laws to get F: x y z F F F = x y z + x y z + x y z + x y z F x y z x y z x y z x y z F = (x y z) (x y z) (x y z) (x y z) = (x+y+z) (x+y+z) (x+y+z) (x+y+z) How do you build the CNF directly from the table? 6
Functional Completeness Since every Boolean function can be expressed in terms of,+,, we say that the set of operators {,+, } is functionally complete. {+, } is functionally complete (no way!) xy = (x+y) {, } is functionally complete (note: x + y = xy) NAND and NOR are also functionally complete, each by itself (as a singleton set). Recall x NAND y is true iff x or y (or both) are false and x NOR y is true iff both x and y are false. 7