Boolean Algebra

advertisement
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  (bc)  a ba 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=a0
= a  aa
= (a  a)  (a  a)
= (a  a)  1
=aa
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:AB, such that
1. for arbitrary a,b  A, f(ab) = 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
fg
0
fg
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
Download