2. An introduction toAn introduction to
Boolean AlgebrasBoolean Algebras
An introduction toAn introduction to
Boolean AlgebrasBoolean Algebras
Paolo PRINETTO
Politecnico di Torino (Italy)
University of Illinois at Chicago, IL (USA)
Paolo.Prinetto@polito.it
Prinetto@uic.edu
www.testgroup.polito.it
Lecture
3.1
admission.edhole.com
3. 33.1
Goal
• This lecture first provides several definitions
of Boolean Algebras, and then focuses on
some significant theorems and properties.
• It eventually introduces Boolean Expressions
and Boolean Functions.
admission.edhole.com
4. 43.1
Prerequisites
• Students are assumed to be familiar with the
fundamental concepts of:
− Algebras, as presented, for instance, in:
⋅ F.M. Brown:
“Boolean reasoning: the logic of boolean
equations,”
Kluwer Academic Publisher, Boston MA
(USA), 1990, (chapter 1, pp. 1-21)
admission.edhole.com
5. 53.1
Prerequisites (cont’d)
− Number systems and codes, as presented, for
instance, in:
⋅ E.J.McCluskey:
“Logic design principles with emphasis on
testable semicustom circuits”,
Prentice-Hall, Englewood Cliffs, NJ, USA,
1986, (chapter 1, pp. 1-28)
or
admission.edhole.com
6. 63.1
Prerequisites (cont’d)
⋅ [Haye_94] chapter 2, pp. 51-123
or
⋅ M. Mezzalama, N. Montefusco, P. Prinetto:
“Aritmetica degli elaboratori e codifica
dell’informazione”,
UTET, Torino (Italy), 1989 (in Italian),
(chapter 1, pp. 1-38).
admission.edhole.com
7. 73.1
Homework
• Prove some of the properties of Boolean
Algebras, presented in slides 39 ÷ 59.
admission.edhole.com
8. 83.1
Further readings
• Students interested in a deeper knowledge of
the arguments covered in this lecture can
refer, for instance, to:
− F.M. Brown:
“Boolean reasoning: the logic of boolean
equations,”
Kluwer Academic Publisher, Boston MA
(USA), 1990, (chapter 2, pp. 23-69 )
admission.edhole.com
10. 103.1
Boolean Algebras DefinitionsBoolean Algebras Definitions
Boolean Algebras are defined, in the literature, in
many different ways:
• definition by lattices
• definition by properties
• definition by postulates [Huntington].
admission.edhole.com
12. 123.1
Definition through properties
A Boolean Algebra is an algebraic system
( B , + , · , 0 , 1 )
where:
• B is a set, called the carrier
• + and · are binary operations on B
• 0 and 1 are distinct members of B
which has the following properties:
admission.edhole.com
17. 173.1
P5: distributive
Each operation distributes w.r.t. the other one:
a · (b + c) = a · b + a · c
a + b · c = (a + b) · (a + c)
admission.edhole.com
18. 183.1
P6: existence of the
complement
• ∀ a ∈ B, ∃ a’ ∈ B |
− a + a’ = 1
− a · a’ = 0.
The element a’ is referred to as complement of a.
admission.edhole.com
19. 193.1
Definition by postulates
A Boolean Algebra is an algebraic system
( B , + , · , 0 , 1 )
where:
• B is a set
• + and · are binary operations in B
• 0 and 1 are distinct elements in B
satisfying the following postulates:
admission.edhole.com
22. 223.1
A3: distributive
∀ a, b, c ∈ B:
• a · (b + c) = a · b + a · c
• a + b · c = (a + b) · (a + c)
admission.edhole.com
23. 233.1
A4: identities
∃ 0 ∈ B | ∀ a ∈ B, a + 0 = a
∃ 1 ∈ B | ∀ a ∈ B, a · 1 = a
admission.edhole.com
24. 243.1
A5: existence of the
complement
∀ a ∈ B, ∃ a’ ∈ B |
• a + a’ = 1
• a · a’ = 0.
admission.edhole.com
25. 253.1
Some definitions
• The elements of the carrier set B={0,1} are
called constants
• All the symbols that get values ∈ B are called
variables (hereinafter they will be referred to
as x1, x2, …, xn )
• A letter is a constant or a variable
• A literal is a letter or its complement.
admission.edhole.com
27. 273.1
Examples of Boolean
Algebras
Examples of Boolean
Algebras
Let us consider some examples of Boolean
Algebras:
• the algebra of classes
• propositional algebra
• arithmetic Boolean Algebras
• binary Boolean Algebra
• quaternary Boolean Algebra.
admission.edhole.com
28. 283.1
The algebra of classes
Suppose that every set of interest is a subset of a
fixed nonempty set S.
We call
• S a universal set
• its subsets the classes of S.
The algebra of classes consists of the set 2S
(the
set of subsets of S) together with two operations
on 2S
, namely union and intersection.
admission.edhole.com
29. 293.1
This algebra satisfies the postulates for a Boolean
Algebra, provided the substitutions:
B ↔ 2S
+ ↔ ∪
· ↔ ∩
0 ↔ ∅
1 ↔ S
Thus, the algebraic system
( 2S
, ∪, ∩, ∅, S )
ia a Boolean Algebra.
The algebra of classes (cont'd)
admission.edhole.com
30. 303.1
PropositionsPropositions
A proposition is a formula which is necessarily
TRUE or FALSE (principle of the excluded third),
but cannot be both (principle of no contradiction).
As a consequence, Russell's paradox :
“this sentence is false”
is not a proposition, since if it is assumed to be
TRUE its content implies that is is FALSE, and
vice-versa.
admission.edhole.com
31. 313.1
Propositional calculus
Let:
P a set of propositional functions
F the formula which is always false (contradiction)
T the formula which is always true (tautology)
∨ the disjunction (or)
∧ the conjunction (and)
¬ the negation (not)
admission.edhole.com
32. 323.1
The system
( P, ∨ , ∧ , F , T )
is a Boolean Algebra:
• B ↔ P
• + ↔ ∨
• · ↔ ∧
• 0 ↔ F
• 1 ↔ T
Propositional calculus (cont'd)
admission.edhole.com
33. 333.1
Arithmetic Boolean Algebra
Let:
• n be the result of a product of the elements of
a set of prime numbers
• D the set of all the dividers of n
• lcm the operation that evaluates the lowest
common multiple
• GCD the operation that evaluates the Greatest
Common Divisor.
admission.edhole.com
34. 343.1
The algebraic system:
( D, lcm, GCD, 1, n )
Is a Boolean Algebra:
• B ↔ D
• + ↔ lcm
• · ↔ GCD
• 0 ↔ 1
• 1 ↔ n
Arithmetic Boolean Algebra
(cont'd)
admission.edhole.com
35. 353.1
Binary Boolean Algebra
The system
( {0,1} , + , · , 0 , 1 )
is a Boolean Algebra, provided that the two
operations + and · be defined as follows:
+ 0 1
0 0 1
1 1 1
· 0 1
0 0 0
1 0 1
admission.edhole.com
36. 363.1
Quaternary Boolean Algebra
The system
( {a,b,0,1} , + , · , 0 , 1 )
is a Boolean Algebra provided that the two
operations + and · be defined as follows:
+ 0 a b 1 · 0 a b 1
0 0 a b 1 0 0 0 0 0
a a a 1 1 a 0 a 0 a
b b 1 b 1 b 0 0 b b
1 1 1 1 1 1 0 a b 1
admission.edhole.com
38. 383.1
Boolean Algebras propertiesBoolean Algebras properties
All Boolean Algebras satisfy interesting
properties.
In the following we focus on some of them,
particularly helpful on several applications.
admission.edhole.com
40. 403.1
Corollary
In essence, the only relevant difference among the
various Boolean Algebras is the cardinality of the
carrier.
Stone’s theorem implies that the cardinality of the
carrier of a Boolean Algebra must be a power of
2.
admission.edhole.com
41. 413.1
Consequence
Boolean Algebras can thus be represented
resorting to the most appropriate and suitable
formalisms.
E.g., Venn diagrams can replace postulates.
admission.edhole.com
42. 423.1
Duality
Every identity is transformed into another identity
by interchanging:
• + and ·
• ≤ and ≥
• the identity elements 0 and 1.
admission.edhole.com
43. 433.1
Examples
a + 1 = 1
a · 0 = 0
a + a’ b = a + b
a (a’ + b) = a b
a + (b + c) = (a + b) + c = a + b + c
a · (b · c) = (a · b) · c = a · b · c
admission.edhole.com
44. 443.1
The inclusion relation
On any Boolean Algebra an inclusion relation ( ≤ )
is defined as follows:
a ≤ b iff a · b’ = 0.
admission.edhole.com
45. 453.1
The inclusion relation is a partial order relation,
i.e., it’s:
• reflexive : a ≤ a
• antisimmetric : a ≤ b e b ≤ a ⇒ a = b
• transitive : a ≤ b e b ≤ c ⇒ a ≤ c
Properties of the inclusion
relation
admission.edhole.com
46. 463.1
The relation gets its name from the fact that, in
the algebra of classes, it is usually represented by
the symbol ⊆ :
A ⊆ B ⇔ A ∩ B’ = ∅
AABB
The inclusion relation
in the algebra of classes
admission.edhole.com
47. 473.1
In propositional calculus, inclusion relation
corresponds to logic implication:
a ≤ b ≡ a ⇒ b
The inclusion relation
in propositional calculus
admission.edhole.com
48. 483.1
The following expressions are all equivalent:
• a ≤ b
• a b’ = 0
• a’ + b = 1
• b’ ≤ a’
• a + b = b
• a b = a .
Note
admission.edhole.com
54. 543.1
Consensus Theorem
a b + a’ c + b c = a b + a’ c
(a + b) (a’ + c) (b + c) = (a + b) (a’ + c)
admission.edhole.com
55. 553.1
Equality
a = b iff a’ b + a b’ = 0
Note
The formula
a’ b + a b’
appears so often in expressions that it has been
given a peculiar name: exclusive-or or exor or
modulo 2 sum.
admission.edhole.com
56. 563.1
Boole’s expansion theorem
Every Boolean function f : Bn
→ B :
f (x1, x2, …, xn)
can be expressed as:
f (x1, x2, …, xn) =
= x1’ · f (0, x2, …, xn) + x1 · f (1, x2, …, xn)
∀ (x1, x2, …, xn) ∈ B
admission.edhole.com
57. 573.1
Dual form
f (x1, x2, …, xn) =
= [ x1’ + f (0, x2, …, xn) ] · [x1 + f (1, x2, …, xn) ]
∀ (x1, x2, …, xn) ∈ B
admission.edhole.com
59. 593.1
Note
According to Stone’s theorem, Boole’s theorem
holds independently from the cardinality of the
carrier B.
admission.edhole.com
60. 603.1
Cancellation rule
The so called cancellation rule, valid in usual
arithmetic algebras, cannot be applied to Boolean
algebras.
This means, for instance, that from the expression:
x + y = x + z
you cannot deduce that
y = z.
admission.edhole.com
62. 623.1
Demonstration
x y z x+y x+z x+y = x+z y=z
0 0 0 0 0 T T
0 0 1 0 1 F F
0 1 0 1 0 F F
0 1 1 1 1 T T
1 0 0 1 1 T T
1 0 1 1 1 TT FF
1 1 0 1 1 TT FF
1 1 1 1 1 T T
admission.edhole.com
65. 653.1
Demonstration
x y z x+y x+z x+y = x+z y=z
0 0 0 0 0 T T
0 0 1 0 1 F F
0 1 0 1 0 F F
0 1 1 1 1 T T
1 0 0 1 1 T T
1 0 1 1 1 TT FF
1 1 0 1 1 TT FF
1 1 1 1 1 T T
admission.edhole.com
66. 663.1
Demonstration
x y z x+y x+z x+y = x+z y=z
0 0 0 0 0 T T
0 0 1 0 1 F F
0 1 0 1 0 F F
0 1 1 1 1 T T
1 0 0 1 1 T T
1 0 1 1 1 TT FF
1 1 0 1 1 TT FF
1 1 1 1 1 T T
admission.edhole.com
67. 673.1
Some Boolean Algebras satisfy some peculiar
specific properties not satisfied by other Boolean
Algebras.
An example
The properties:
x + y = 1 iff x = 1 or y = 1
x · y = 0 iff x = 0 or y = 0
hold for the binary Boolean Algebra (see slide
#28), only.
Specific properties
admission.edhole.com
69. 693.1
Boolean Expressions
Given a Boolean Algebra defined on a carrier B,
the set of Boolean expressions can be defined
specifying:
• A set of operators
• A syntax.
admission.edhole.com
70. 703.1
Boolean Expressions
A Boolean expression is a formula defined on
constants and Boolean variables, whose semantic
is still a Boolean value.
admission.edhole.com
71. 713.1
Syntax
Two syntaxes are mostly adopted:
• Infix notationInfix notation
• Prefix notation.Prefix notation.
admission.edhole.com
72. 723.1
Infix notation
• elements of B are expressions
• symbols x1, x2, …, xn are expressions
• if g and h are expressions, then:
− (g) + (h)
− (g) · (h)
− (g)’
are expressions as well
• a string is an expression iff it can be derived
by recursively applying the above rules.
admission.edhole.com
73. 733.1
Syntactic conventions
Conventionally we are used to omit most of the
parenthesis, assuming the “·” operation have a
higher priority over the “+” one.
When no ambiguity is possible, the “·” symbol is
omitted as well.
As a consequence, for instance, the expression
((a) · (b)) + (c)
Is usually written as:
a b + c
admission.edhole.com
74. 743.1
Prefix notation
Expressions are represented by functions
composition.
Examples:
U = · (x, y)
F = + (· ( x, ‘ ( y ) ), · ( ‘ ( x ), y ) )
admission.edhole.com
77. 773.1
Boolean functions:
Analytical definition
A Boolean function of n variables is a function
f : Bn
→ B which associates each set of values
x1, x2, …, xn ∈ B with a value b ∈ B:
f ( x1, x2, …, xn ) = b.
admission.edhole.com
78. 783.1
Boolean functions:
Recursive definition
An n-variable function f : Bn
→ B is defined
recursively by the following set of rules:
1 ∀ b ∈ B, the constant function defined as
f( x1, x2, …, xn ) = b, ∀ ( x1, x2, …, xn ) ∈ Bn
is an n-variable Boolean function
2 ∀ xi ∈ { x1, x2, …, xn } the projection function,
defined as
f( x1, x2, …, xn ) = xi ∀ ( x1, x2, …, xn ) ∈ Bn
is an n-variable Boolean function
admission.edhole.com
79. 793.1
Boolean functions:
Recursive definition (cont’d)
3 If g and h are n-variable Boolean functions,
then the functions g + h, g · h, e g’, defined as
− (g + h) (x1, x2, …, xn ) =
g(x1, x2, …, xn ) + h(x1, x2, …, xn )
− (g · h) (x1, x2, …, xn ) =
g(x1, x2, …, xn ) · h(x1, x2, …, xn )
− (g’) (x1, x2, …, xn ) = (g(x1, x2, …, xn ))’
∀ xi ∈ { x1, x2, …, xn } are also n-variable
Boolean function
admission.edhole.com
80. 803.1
Boolean functions:
Recursive definition (cont’d)
4 Nothing is an n-variable Boolean function
unless its being so follows from finitely many
applications of rules 1, 2, and 3 above.
admission.edhole.com