Discrete Mathematics CS 2610 September 26
2 Equal Boolean Functions Two Boolean functions F and G of degree n are equal iff for all (x 1,..x n ) B n, F (x 1,..x n ) = G (x 1,..x n ) Example: F(x,y,z) = x(y+z), G(x,y,z) = xy + xz, and F=G (recall the “truth” table we put on the board yesterday) Also, note the distributive property: x(y+z) = xy + xz via the distributive law
3 Boolean Functions Two Boolean expressions e 1 and e 2 that represent the exact same function F are called equivalent F(x 1,x 2,x 3 ) x3x3 x2x2 x1x F(x 1,x 2,x 3 ) = x 1 (x 2 +x 3 )+x 1 x 2 x 3 F(x 1,x 2,x 3 ) = x 1 x 2 +x 1 x 3 +x 1 x 2 x 3
4 Boolean Functions More equivalent Boolean expressions: (x + y)z = xyz + xyz + xyz (x + y)z = xz + yz distributive = x1z + 1yz 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.
5 Boolean Functions More equivalent Boolean expressions: xy + z = ?? = xy1 + 11z identity = xy(z + z) + (x + x)1z unit = xyz + xyz + x1z + x1z 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 The example from yesterday.
6 Representing Boolean Functions How to construct a Boolean expression that represents a Boolean Function ? zyx F (-x)(y)(-z) + (-x)yz + x(-y)z + xyz F(x, y, z) = 1 if and only if:
7 Representing Boolean Functions How to construct a Boolean expression that represents a Boolean Function ? zyx F F(x, y, z) = x · y · z + x · y · z
8 Boolean Identities Double complement: x = x Idempotent laws: x + x = x, x · x = x Identity laws: x + 0 = x, x · 1 = x Domination laws: x + 1 = 1, x · 0 = 0 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, (x + y) = x · y Absorption laws: x + x·y = x, x · (x + y) = x the Unit Property: x + x = 1 and Zero Property: x ·x = 0
9 Boolean Identities Absorption law: Show that x·(x + y) = x 1) x·(x + y) = (x + 0) ·(x + y) identity 2) = x + 0 ·ydistributive 3) = x + y· 0commutative 4) = x + 0 domination 5) = xidentity
10 Dual Expression (related to identity pairs) The dual e d of a Boolean expression e is obtained by exchanging + with , and 0 with 1 in e. Example: e = xy + zw e = x + y + 0 Duality principle: e 1 e 2 iff e 1 d e 2 d x (x + y) = x iff x + xy = x (absorption) e d =(x + y)(z + w) e d = x · y · 1
11 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.
12 Recall: Boolean Identities Double complement: x = x Idempotent laws: x + x = x, x · x = x Identity laws: x + 0 = x, x · 1 = x Domination laws: x + 1 = 1, x · 0 = 0 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, (x + y) = x · y Absorption laws: x + x·y = x, x · (x + y) = x the Unit Property: x + x = 1 and Zero Property: x ·x = 0
13 Boolean Expressions Sets Propositions Identity Laws x 0 = x,x 1 = x Complement Laws x x = 1, x x = 0 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) A Boolean Algebra is a set B with operations , , and elements 0 and 1 such that the above properties hold for all x, y, and z in B.
14 DNF: Disjunctive Normal Form A literal is a Boolean variable or its complement. A minterm of Boolean variables x 1,…,x n is a Boolean product of n literals y 1 …y n, where y i is either the literal x i or its complement x i. Example: x y z+ x y z Disjunctive Normal Form: sum of products minterms We have seen how to develop a DNF expression for a function if we’re given the function’s “truth” table.
15 CNF: Conjunctive Normal Form A literal is a Boolean variable or its complement. A maxterm of Boolean variables x 1,…,x n is a Boolean sum of n literals y 1 …y n, where y i is either the literal x i or its complement x i. Example: (x +y + z) (x + y + z) Conjuctive Normal Form: product of sums maxterms
16 Conjunctive Normal Form To find the CNF representation of a Boolean function F 1.Find the DNF representation of its complement F 2.Then complement both sides and apply DeMorgan’s laws to get F: zyx F F How do you build the CNF directly from the table ? 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) F = (x · y · z) · (x · y · z) · (x · y · z) · (x · y · z)
17 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 { , ¯} 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. xy = (x+y)