Lattice and Boolean Algebra Algebra • An algebraic system is defined by the tuple A,o1, …, ok; R1, …, Rm; c1, … ck, where, A is a non-empty set, oi is a function Api A, pi is a positive integer, Rj is a relation on A, and ci is an element of A. Lattice and Boolean Algebra Slide 2 Lattice • The lattice is an algebraic system A, , , given a,b,c in A, the following axioms are satisfied: 1. Idempotent laws: a a = a, a a = a; 2. Commutative laws: a b = b a, a b = b a 3. Associative laws: a (b c) = (a b) c, a (b c) = (a b) c 4. Absorption laws: a (a b) = a, a (a b) = a Lattice and Boolean Algebra Slide 3 Lattice - Example • • • • Let A={1,2,3,6}. Let a b be the least common multiple Let a b be the greatest common divisor Then, the algebraic system A, , satisfies the axioms of the lattice. Lattice and Boolean Algebra Slide 4 Distributive Lattice • The lattice A, , satisfying the following axiom is a distributive lattice 5. Distributive laws: a (b c) = (a b) (a c), a (b c) = (a b) (a c) Lattice and Boolean Algebra Slide 5 Examples distributive non-distributive a (bc) a ba c Lattice and Boolean Algebra Slide 6 Complemented Lattice • Let a lattice A, , have a maximum element 1 and a minimum element 0. For any element a in A, if there exists an element xa such that a xa = 1 and a xa = 0, then the lattice is a complemented lattice. • Find complements in the previous example Lattice and Boolean Algebra Slide 7 Boolean Algebra • Let B be a set with at least two elements 0 and 1. Let two binary operations and , and a unary operation are defined on B. The algebraic system B, , , , 0,1 is a Boolean algebra, if the following postulates are satisfied: 1. Idempotent laws: a a = a, a a = a; 2. Commutative laws: a b = b a, a b = b a 3. Associative laws: a (b c) = (a b) c, a (b c) = (a b) c 4. Absorption laws: a (a b) = a, a (a b) = a 5. Distributive laws: a (b c) = (a b) (a c), a (b c) = (a b) (a c) Lattice and Boolean Algebra Slide 8 Boolean Algebra 6. Involution: a a 7. Complements: a a = 1, a a = 0; 8. Identities: a 0 = a, a 1 = a; 9. a 1 = 1, a 0 = 0; 10. De Morgan’s laws: a b a b a b a b Lattice and Boolean Algebra Slide 9 Huntington’s Postulates • To verify whether a given algebra is a Boolean algebra we only need to check 4 postulates: 1. 2. 3. 4. Identities Commutative laws Distributive laws Complements Lattice and Boolean Algebra Slide 10 Example • prove the idempotent laws given Huntington’s postulates: a=a0 = a aa = (a a) (a a) = (a a) 1 =aa Lattice and Boolean Algebra Slide 11 Models of Boolean Algebra • Boolean Algebra over {0,1} B={0,1}. B, , , , 0,1 • Boolean Algebra over Boolean Vectors Bn = {(a1, a2, … , an) | ai {0,1}} Let a=(a1, a2, … , an) and b = (b1, b2, … , bn) Bn define a b = (a1 b1, a2 b2, … , an bn) a b = (a1 b1, a2 b2, … , an bn) a=(a1, a2, … , an) then Bn, , , , 0,1 is a Boolean algebra, where, 0 = (0,0, …, 0) and 1 = (1,1, …, 1) • Boolean Algebra over Power Set Lattice and Boolean Algebra Slide 12 Examples B3 P({a,b,c}) Lattice and Boolean Algebra {n | n|30} Slide 13 Isomorphic Boolean Algebra Two Boolean algebras A, , , , 0A,1A and B, , , , 0B,1B are isomorphic iff there is a mapping f:AB, such that 1. for arbitrary a,b A, f(ab) = f(a)f(b), f(a b) = f(a) f(b), and f(a) = f(a) 2. f(0A ) = 0B and f(1A ) = 1B An arbitrary finite Boolean algebra is isomorphic to the Boolean algebra Bn, , , , 0,1 Question: define the mappings for the previous slide. Slide 14 • Lattice and Boolean Algebra De Morgan’s Theorem • De Morgan’s Laws hold a b a b a b a b • These equations can be generalized x1 x 2 x1 x 2 x n x1 x 2 x n x1 x 2 xn xn Lattice and Boolean Algebra Slide 15 Definition • Let Bn, , , , 0,1 be a Boolean algebra. The variable that takes arbitrary values in the set B is a Boolean variable. The expression that is obtained from the Boolean variables and constants by combining with the operators , , and parenthesis is a Boolean expression. If a mapping f:Bn B is represented by a Boolean expression, then f is a Boolean function. However, not all mappings f:Bn B are Boolean functions. Lattice and Boolean Algebra Slide 16 Theorem • Let F(x1, x2, …, xn) be a Boolean expression. Then the complement of the complement of the Boolean expression F(x1, x2, …, xn) is obtained from F as follows 1. Add parenthesis according to the order of operations 2. Interchange with 3. Interchange xi with xi 4. Interchange 0 with 1 Example x (y z) x (y z ) Lattice and Boolean Algebra Slide 17 Principle of Duality • In the axioms of Boolean algebra, in an equation that contains , , 0, or 1, if we interchange with , and/or 0 with 1, then the other equation holds. Lattice and Boolean Algebra Slide 18 Dual Boolean Expressions • Let A be a Boolean expression. The dual AD is defined recursively as follows: 0D = 1 1D = 0 if xi is a variable, then xiD = xi if A, B, and C are Boolean expressions, and A = B C, then AD = BD CD 5. if A, B, and C are Boolean expressions, and A = B C, then AD = BD CD 6. if A and B are Boolean expressions, and A = B, then A D (B D ) 1. 2. 3. 4. Lattice and Boolean Algebra Slide 19 Examples 1. Given xy yz = xy yz xz the dual (x y)(y z) = (x y)(y z)(x z) 2. Consider the Boolean algebra B={0,1,a,a} check if f is a Boolean function. x f(x) f(x) = xf(0) xf(1) 0 a f(x) = x a x 1 1 1 f(a) = a a a 1 = a a a a 1 Lattice and Boolean Algebra Slide 20 Logic Functions • Let B = {0,1}. A mapping Bn B is always represented by a Boolean expression–a two-valued logic function. f g = h f(x1,x2,…,xn) g(x1,x2,…,xn) = h(x1,x2,…,xn) f = g f(x1,x2,…,xn) = g(x1,x2,…,xn) Example x 0 y 0 f 0 g 0 fg 0 fg 0 f 1 g 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 Lattice and Boolean Algebra Slide 21 Logical Expressions 1. 2. 3. 4. Constants 0 and 1 are logical expressions Variables x1,x2,…,xn are logical expressions If E is a logical expression, then E is one If E1 and E2 are logical expressions, then (E1 E2) and (E1 E2) are also logical expressions 5. The logical expressions are obtained by finite application of 1 - 4 Lattice and Boolean Algebra Slide 22 Evaluation of logical Expressions • • An assignment mapping :{xi} {0,1} (i = 1, … , n) The valuation mapping |F| of a logical expression is obtained: 1. 2. 3. 4. |0| = 0 and |1| = 1 If xi is a variable, then | xi | = (xi) If F is a logical expression, then |F| = 1 |F| = 0 If F and G are logical expressions, then |F G| = 1 (|F| = 1 or |G| = 1) 5. If F and G are logical expressions, then |F G| = 1 (|F| = 1 and |G| = 1) Example: F:x y z (x) = 0, (y) = 0, (z) = 1 Lattice and Boolean Algebra Slide 23 Equivalence of Logic Expressions • Let F and G be logical expressions. If |F| = |G| hold for every assignment , then F and G are equivalent ==> F G n 2 • Logical expressions can be classified into 2 equivalence classes by the equivalence relation () Lattice and Boolean Algebra Slide 24