SlideShare a Scribd company logo
1 of 75
Spring 2003 CMSC 203 - Discrete Structures 1
… and now for something
completely different…
Set Theory
Actually, you will see that logic and
set theory are very closely related.
Spring 2003 CMSC 203 - Discrete Structures 2
Set Theory
• Set: Collection of objects (called elements)
• aA “a is an element of A”
“a is a member of A”
• aA “a is not an element of A”
• A = {a1, a2, …, an} “A contains a1, …, an”
• Order of elements is insignificant
• It does not matter how often the same
element is listed (repetition doesn’t count).
Spring 2003 CMSC 203 - Discrete Structures 3
Set Equality
Sets A and B are equal if and only if they
contain exactly the same elements.
Examples:
• A = {9, 2, 7, -3}, B = {7, 9, -3, 2} : A = B
• A = {dog, cat, horse},
B = {cat, horse, squirrel, dog} : A  B
• A = {dog, cat, horse},
B = {cat, horse, dog, dog} : A = B
Spring 2003 CMSC 203 - Discrete Structures 4
Examples for Sets
“Standard” Sets:
• Natural numbers N = {0, 1, 2, 3, …}
• Integers Z = {…, -2, -1, 0, 1, 2, …}
• Positive Integers Z+ = {1, 2, 3, 4, …}
• Real Numbers R = {47.3, -12, , …}
• Rational Numbers Q = {1.5, 2.6, -3.8, 15, …}
(correct definitions will follow)
Spring 2003 CMSC 203 - Discrete Structures 5
Examples for Sets
• A =  “empty set/null set”
• A = {z} Note: zA, but z  {z}
• A = {{b, c}, {c, x, d}} set of sets
• A = {{x, y}} Note: {x, y} A, but {x, y}  {{x, y}}
• A = {x | P(x)} “set of all x such that P(x)”
P(x) is the membership function of set A
x (P(x)  xA)
• A = {x | x N  x > 7} = {8, 9, 10, …}
“set builder notation”
Spring 2003 CMSC 203 - Discrete Structures 6
Examples for Sets
We are now able to define the set of rational
numbers Q:
Q = {a/b | aZ  bZ+}, or
Q = {a/b | aZ  bZ  b0}
And how about the set of real numbers R?
R = {r | r is a real number}
That is the best we can do. It can neither be
defined by enumeration nor builder function.
Spring 2003 CMSC 203 - Discrete Structures 7
Subsets
A  B “A is a subset of B”
A  B if and only if every element of A is also
an element of B.
We can completely formalize this:
A  B  x (xA xB)
Examples:
A = {3, 9}, B = {5, 9, 1, 3}, A  B ? true
A = {3, 3, 3, 9}, B = {5, 9, 1, 3}, A  B ?
false
true
A = {1, 2, 3}, B = {2, 3, 4}, A  B ?
Spring 2003 CMSC 203 - Discrete Structures 8
Subsets
Useful rules:
• A = B  (A  B)  (B A)
• (A  B) (B  C)  A  C (see Venn Diagram)
U
A
B
C
Spring 2003 CMSC 203 - Discrete Structures 9
Subsets
Useful rules:
•   A for any set A
(but   A may not hold for any set A)
• A  A for any set A
Proper subsets:
A  B “A is a proper subset of B”
A  B  x (xA  xB)  x (xB  xA)
or
A  B  x (xA  xB)  x (xB xA)
Spring 2003 CMSC 203 - Discrete Structures 10
Cardinality of Sets
If a set S contains n distinct elements, nN,
we call S a finite set with cardinality n.
Examples:
A = {Mercedes, BMW, Porsche}, |A| = 3
B = {1, {2, 3}, {4, 5}, 6} |B| = 4
C =  |C| = 0
D = { xN | x  7000 } |D| = 7001
E = { xN | x  7000 } E is infinite!
Spring 2003 CMSC 203 - Discrete Structures 11
The Power Set
P(A) “power set of A” (also written as 2A)
P(A) = {B | B  A} (contains all subsets of A)
Examples:
A = {x, y, z}
P(A) = {, {x}, {y}, {z}, {x, y}, {x, z}, {y, z}, {x, y, z}}
A = 
P(A) = {}
Note: |A| = 0, |P(A)| = 1
Spring 2003 CMSC 203 - Discrete Structures 12
The Power Set
Cardinality of power sets: | P(A) | = 2|A|
• Imagine each element in A has an “on/off” switch
• Each possible switch configuration in A
corresponds to one subset of A, thus one element
in P(A)
z
z
z
z
z
z
z
z
z
y
y
y
y
y
y
y
y
y
x
x
x
x
x
x
x
x
x
8
7
6
5
4
3
2
1
A
• For 3 elements in A, there are
222 = 8 elements in P(A)
Spring 2003 CMSC 203 - Discrete Structures 13
Cartesian Product
The ordered n-tuple (a1, a2, a3, …, an) is an
ordered collection of n objects.
Two ordered n-tuples (a1, a2, a3, …, an) and
(b1, b2, b3, …, bn) are equal if and only if they
contain exactly the same elements in the same
order, i.e. ai = bi for 1  i  n.
The Cartesian product of two sets is defined as:
AB = {(a, b) | aA  bB}
Spring 2003 CMSC 203 - Discrete Structures 14
Cartesian Product
Example:
A = {good, bad}, B = {student, prof}
AB = {
(good, student), (good, prof), (bad, student), (bad, prof)}
(prof, bad)}
(student, good), (prof, good), (student, bad),
BA = {
Example: A = {x, y}, B = {a, b, c}
AB = {(x, a), (x, b), (x, c), (y, a), (y, b), (y, c)}
Spring 2003 CMSC 203 - Discrete Structures 15
Cartesian Product
Note that:
• A = 
• A = 
• For non-empty sets A and B: AB  AB  BA
• |AB| = |A||B|
The Cartesian product of two or more sets is
defined as:
A1A2…An = {(a1, a2, …, an) | aiAi for 1  i  n}
Spring 2003 CMSC 203 - Discrete Structures 16
Set Operations
Union: AB = {x | xA  xB}
Example: A = {a, b}, B = {b, c, d}
AB = {a, b, c, d}
Intersection: AB = {x | xA  xB}
Example: A = {a, b}, B = {b, c, d}
AB = {b}
Cardinality: |AB| = |A| + |B| - |AB|
Spring 2003 CMSC 203 - Discrete Structures 17
Set Operations
Two sets are called disjoint if their intersection
is empty, that is, they share no elements:
AB = 
The difference between two sets A and B
contains exactly those elements of A that are
not in B:
A-B = {x | xA  xB}
Example: A = {a, b}, B = {b, c, d}, A-B = {a}
Cardinality: |A-B| = |A| - |AB|
Spring 2003 CMSC 203 - Discrete Structures 18
Set Operations
The complement of a set A contains exactly
those elements under consideration that are not
in A: denoted Ac (or as in the text)
Ac = U-A
Example: U = N, B = {250, 251, 252, …}
Bc = {0, 1, 2, …, 248, 249}
A
Spring 2003 CMSC 203 - Discrete Structures 19
Logical Equivalence
Equivalence laws
– Identity laws, P  T  P,
– Domination laws, P  F  F,
– Idempotent laws, P  P  P,
– Double negation law,  ( P)  P
– Commutative laws, P  Q  Q  P,
– Associative laws, P  (Q  R) (P  Q)  R,
– Distributive laws, P  (Q  R) (P  Q)  (P  R),
– De Morgan’s laws,  (PQ)  ( P)  ( Q)
– Law with implication P  Q   P  Q
Spring 2003 CMSC 203 - Discrete Structures 20
Set Identity
Table 1 in Section 1.7 shows many useful equations
– Identity laws, A = A, AU = A
– Domination laws, AU = U, A = 
– Idempotent laws, AA = A, AA = A
– Complementation law, (Ac)c = A
– Commutative laws, AB = BA, AB = BA
– Associative laws, A(B  C) = (AB)C, …
– Distributive laws, A(BC) = (AB)(AC), …
– De Morgan’s laws, (AB)c = AcBc, (AB)c = AcBc
– Absorption laws, A(AB) = A, A(AB) = A
– Complement laws, AAc = U, AAc = 
Spring 2003 CMSC 203 - Discrete Structures 21
Set Identity
How can we prove A(BC) = (AB)(AC)?
Method I: logical equivalent
xA(BC)
 xA  x(BC)
 xA  (xB  xC)
 (xA  xB)  (xA  xC) (distributive law)
 x(AB)  x(AC)
 x(AB)(AC)
Every logical expression can be transformed into an
equivalent expression in set theory and vice versa.
Spring 2003 CMSC 203 - Discrete Structures 22
Set Operations
Method II: Membership table
1 means “x is an element of this set”
0 means “x is not an element of this set”
1
1
1
1
1
1 1 1
1
1
1
1
0
1 1 0
1
1
1
1
0
1 0 1
1
1
1
1
0
1 0 0
1
1
1
1
1
0 1 1
0
0
1
0
0
0 1 0
0
1
0
0
0
0 0 1
0
0
0
0
0
0 0 0
(AB) (AC)
AC
AB
A(BC)
BC
A B C
Spring 2003 CMSC 203 - Discrete Structures 23
… and the following mathematical
appetizer is about…
Functions
Spring 2003 CMSC 203 - Discrete Structures 24
Functions
A function f from a set A to a set B is an
assignment of exactly one element of B to each
element of A.
We write
f(a) = b
if b is the unique element of B assigned by the
function f to the element a of A.
If f is a function from A to B, we write
f: AB
(note: Here, ““ has nothing to do with if… then)
Spring 2003 CMSC 203 - Discrete Structures 25
Functions
If f:AB, we say that A is the domain of f and B
is the codomain of f.
If f(a) = b, we say that b is the image of a and a is
the pre-image of b.
The range of f:AB is the set of all images of all
elements of A.
We say that f:AB maps A to B.
Spring 2003 CMSC 203 - Discrete Structures 26
Functions
Let us take a look at the function f:PC with
P = {Linda, Max, Kathy, Peter}
C = {Boston, New York, Hong Kong, Moscow}
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = New York
Here, the range of f is C.
Spring 2003 CMSC 203 - Discrete Structures 27
Functions
Let us re-specify f as follows:
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = Boston
Is f still a function? yes
{Moscow, Boston, Hong Kong}
What is its range?
Spring 2003 CMSC 203 - Discrete Structures 28
Functions
Other ways to represent f:
Boston
Peter
Hong
Kong
Kathy
Boston
Max
Moscow
Linda
f(x)
x Linda
Max
Kathy
Peter
Boston
New York
Hong Kong
Moscow
Spring 2003 CMSC 203 - Discrete Structures 29
Functions
If the domain of our function f is large, it is
convenient to specify f with a formula, e.g.:
f:RR
f(x) = 2x
This leads to:
f(1) = 2
f(3) = 6
f(-3) = -6
…
Spring 2003 CMSC 203 - Discrete Structures 30
Functions
Let f1 and f2 be functions from A to R.
Then the sum and the product of f1 and f2 are
also functions from A to R defined by:
(f1 + f2)(x) = f1(x) + f2(x)
(f1f2)(x) = f1(x) f2(x)
Example:
f1(x) = 3x, f2(x) = x + 5
(f1 + f2)(x) = f1(x) + f2(x) = 3x + x + 5 = 4x + 5
(f1f2)(x) = f1(x) f2(x) = 3x (x + 5) = 3x2 + 15x
Spring 2003 CMSC 203 - Discrete Structures 31
Functions
We already know that the range of a function
f:AB is the set of all images of elements aA.
If we only regard a subset SA, the set of all
images of elements sS is called the image of S.
We denote the image of S by f(S):
f(S) = {f(s) | sS}
Spring 2003 CMSC 203 - Discrete Structures 32
Functions
Let us look at the following well-known function:
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = Boston
What is the image of S = {Linda, Max} ?
f(S) = {Moscow, Boston}
What is the image of S = {Max, Peter} ?
f(S) = {Boston}
Spring 2003 CMSC 203 - Discrete Structures 33
Properties of Functions
A function f:AB is said to be one-to-one (or
injective), if and only if
x, yA (f(x) = f(y)  x = y)
In other words: f is one-to-one if and only if it
does not map two distinct elements of A onto the
same element of B.
Spring 2003 CMSC 203 - Discrete Structures 34
Properties of Functions
And again…
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = Boston
Is f one-to-one?
No, Max and Peter are
mapped onto the same
element of the image.
g(Linda) = Moscow
g(Max) = Boston
g(Kathy) = Hong Kong
g(Peter) = New York
Is g one-to-one?
Yes, each element is
assigned a unique
element of the image.
Spring 2003 CMSC 203 - Discrete Structures 35
Properties of Functions
How can we prove that a function f is one-to-one?
Whenever you want to prove something, first
take a look at the relevant definition(s):
x, yA (f(x) = f(y)  x = y)
Example:
f:RR
f(x) = x2
Disproof by counterexample:
f(3) = f(-3), but 3  -3, so f is not one-to-one.
Spring 2003 CMSC 203 - Discrete Structures 36
Properties of Functions
… and yet another example:
f:RR
f(x) = 3x
One-to-one: x, yA (f(x) = f(y)  x = y)
To show: f(x)  f(y) whenever x  y (indirect proof)
x  y
 3x  3y
 f(x)  f(y),
so if x  y, then f(x)  f(y), that is, f is one-to-one.
Spring 2003 CMSC 203 - Discrete Structures 37
Properties of Functions
A function f:AB with A,B  R is called strictly
increasing, if
x,yA (x < y  f(x) < f(y)),
and strictly decreasing, if
x,yA (x < y  f(x) > f(y)).
Obviously, a function that is either strictly
increasing or strictly decreasing is one-to-one.
Spring 2003 CMSC 203 - Discrete Structures 38
Properties of Functions
A function f:AB is called onto, or surjective, if
and only if for every element bB there is an
element aA with f(a) = b.
In other words, f is onto if and only if its range is
its entire codomain.
A function f: AB is a one-to-one correspondence,
or a bijection, if and only if it is both one-to-one
and onto.
Obviously, if f is a bijection and A and B are finite
sets, then |A| = |B|.
Spring 2003 CMSC 203 - Discrete Structures 39
Properties of Functions
Examples:
In the following examples, we use the arrow
representation to illustrate functions f:AB.
In each example, the complete sets A and B are
shown.
Spring 2003 CMSC 203 - Discrete Structures 40
Properties of Functions
Is f injective?
No.
Is f surjective?
No.
Is f bijective?
No.
Linda
Max
Kathy
Peter
Boston
New York
Hong Kong
Moscow
Spring 2003 CMSC 203 - Discrete Structures 41
Properties of Functions
Is f injective?
No.
Is f surjective?
Yes.
Is f bijective?
No.
Linda
Max
Kathy
Peter
Boston
New York
Hong Kong
Moscow
Paul
Spring 2003 CMSC 203 - Discrete Structures 42
Properties of Functions
Is f injective?
Yes.
Is f surjective?
No.
Is f bijective?
No.
Linda
Max
Kathy
Peter
Boston
New York
Hong Kong
Moscow
Lübeck
Spring 2003 CMSC 203 - Discrete Structures 43
Properties of Functions
Is f injective?
No! f is not even
a function!
Linda
Max
Kathy
Peter
Boston
New York
Hong Kong
Moscow
Lübeck
Spring 2003 CMSC 203 - Discrete Structures 44
Properties of Functions
Is f injective?
Yes.
Is f surjective?
Yes.
Is f bijective?
Yes.
Linda
Max
Kathy
Peter
Boston
New York
Hong Kong
Moscow
Lübeck
Helena
Spring 2003 CMSC 203 - Discrete Structures 45
Inversion
An interesting property of bijections is that
they have an inverse function.
The inverse function of the bijection f:AB
is the function f-1:BA with
f-1(b) = a whenever f(a) = b.
Spring 2003 CMSC 203 - Discrete Structures 46
Inversion
Example:
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = Lübeck
f(Helena) = New York
Clearly, f is bijective.
The inverse function
f-1 is given by:
f-1(Moscow) = Linda
f-1(Boston) = Max
f-1(Hong Kong) = Kathy
f-1(Lübeck) = Peter
f-1(New York) = Helena
Inversion is only
possible for bijections
(= invertible functions)
Spring 2003 CMSC 203 - Discrete Structures 47
Inversion
Linda
Max
Kathy
Peter
Boston
New York
Hong Kong
Moscow
Lübeck
Helena
f
f-1
f-1:CP is no
function, because
it is not defined
for all elements of
C and assigns two
images to the pre-
image New York.
Spring 2003 CMSC 203 - Discrete Structures 48
Composition
The composition of two functions g:AB and
f:BC, denoted by fg, is defined by
(fg)(a) = f(g(a))
This means that
• first, function g is applied to element aA,
mapping it onto an element of B,
• then, function f is applied to this element of
B, mapping it onto an element of C.
• Therefore, the composite function maps
from A to C.
Spring 2003 CMSC 203 - Discrete Structures 49
Composition
Example:
f(x) = 7x – 4, g(x) = 3x,
f:RR, g:RR
(fg)(5) = f(g(5)) = f(15) = 105 – 4 = 101
(fg)(x) = f(g(x)) = f(3x) = 21x - 4
Spring 2003 CMSC 203 - Discrete Structures 50
Composition
Composition of a function and its inverse:
(f-1f)(x) = f-1(f(x)) = x
The composition of a function and its inverse
is the identity function i(x) = x.
Spring 2003 CMSC 203 - Discrete Structures 51
Graphs
The graph of a function f:AB is the set of
ordered pairs {(a, b) | aA and f(a) = b}.
The graph is a subset of AB that can be used
to visualize f in a two-dimensional coordinate
system.
Spring 2003 CMSC 203 - Discrete Structures 52
Floor and Ceiling Functions
The floor and ceiling functions map the real
numbers onto the integers (RZ).
The floor function assigns to rR the largest
zZ with z  r, denoted by r.
Examples: 2.3 = 2, 2 = 2, 0.5 = 0, -3.5 = -4
The ceiling function assigns to rR the smallest
zZ with z  r, denoted by r.
Examples: 2.3 = 3, 2 = 2, 0.5 = 1, -3.5 = -3
Spring 2003 CMSC 203 - Discrete Structures 53
Now, something about
BooleanAl
gebra
(section 10.1)
Spring 2003 CMSC 203 - Discrete Structures 54
Boolean Algebra
Boolean algebra provides the operations and the
rules for working with the set {0, 1}.
These are the rules that underlie electronic
circuits, and the methods we will discuss are
fundamental to VLSI design.
We are going to focus on three operations:
• Boolean complementation,
• Boolean sum, and
• Boolean product
Spring 2003 CMSC 203 - Discrete Structures 55
Boolean Operations
The complement is denoted by a bar (on the slides,
we will use a minus sign). It is defined by
-0 = 1 and -1 = 0.
The Boolean sum, denoted by + or by OR, has the
following values:
1 + 1 = 1, 1 + 0 = 1, 0 + 1 = 1, 0 + 0 = 0
The Boolean product, denoted by  or by AND, has
the following values:
1  1 = 1, 1  0 = 0, 0  1 = 0, 0  0 = 0
Spring 2003 CMSC 203 - Discrete Structures 56
Boolean Functions and Expressions
Definition: Let B = {0, 1}. The variable x is called a
Boolean variable if it assumes values only from B.
A function from Bn, the set {(x1, x2, …, xn) |xiB,
1  i  n}, to B is called a Boolean function of
degree n.
Boolean functions can be represented using
expressions made up from the variables and
Boolean operations.
Spring 2003 CMSC 203 - Discrete Structures 57
Boolean Functions and Expressions
The Boolean expressions in the variables x1, x2, …,
xn are defined recursively as follows:
• 0, 1, x1, x2, …, xn are Boolean expressions.
• If E1 and E2 are Boolean expressions, then (-E1),
(E1E2), and (E1 + E2) are Boolean expressions.
Each Boolean expression represents a Boolean
function. The values of this function are obtained
by substituting 0 and 1 for the variables in the
expression.
Spring 2003 CMSC 203 - Discrete Structures 58
Boolean Functions and Expressions
For example, we can create Boolean expression in
the variables x, y, and z using the “building blocks”
0, 1, x, y, and z, and the construction rules:
Since x and y are Boolean expressions, so is xy.
Since z is a Boolean expression, so is (-z).
Since xy and (-z) are expressions, so is xy + (-z).
… and so on…
Spring 2003 CMSC 203 - Discrete Structures 59
Boolean Functions and Expressions
Example: Give a Boolean expression for the
Boolean function F(x, y) as defined by the following
table:
1
1
0
0
0
1
0
1
1
0
0
0
F(x, y)
y
x
Possible solution: F(x, y) = (-x)y
Spring 2003 CMSC 203 - Discrete Structures 60
Boolean Functions and Expressions
Another Example:
Possible solution I:
F(x, y, z) = -(xz + y)
0
0
1
1
F(x, y, z)
1
0
1
0
z
0
0
1
0
1
0
0
0
y
x
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
Possible solution II:
F(x, y, z) = (-(xz))(-y)
Spring 2003 CMSC 203 - Discrete Structures 61
Boolean Functions and Expressions
There is a simple method for deriving a Boolean
expression for a function that is defined by a
table. This method is based on minterms.
Definition: A literal is a Boolean variable or its
complement. A minterm of the Boolean variables x1,
x2, …, xn is a Boolean product y1y2…yn, where yi = xi
or yi = -xi.
Hence, a minterm is a product of n literals, with
one literal for each variable.
Spring 2003 CMSC 203 - Discrete Structures 62
Boolean Functions and Expressions
Consider F(x,y,z) again: F(x, y, z) = 1 if and
only if:
x = y = z = 0 or
x = y = 0, z = 1 or
x = 1, y = z = 0
Therefore,
F(x, y, z) =
(-x)(-y)(-z) +
(-x)(-y)z +
x(-y)(-z)
0
0
1
1
F(x, y, z)
1
0
1
0
z
0
0
1
0
1
0
0
0
y
x
0
0
0
1
1
0
1
0
1
1
1
1
0
1
0
1
Spring 2003 CMSC 203 - Discrete Structures 63
Boolean Functions and Expressions
Definition: The Boolean functions F and G of n
variables are equal if and only if F(b1, b2, …, bn) =
G(b1, b2, …, bn) whenever b1, b2, …, bn belong to B.
Two different Boolean expressions that represent
the same function are called equivalent.
For example, the Boolean expressions xy, xy + 0,
and xy1 are equivalent.
Spring 2003 CMSC 203 - Discrete Structures 64
Boolean Functions and Expressions
The complement of the Boolean function F is the
function –F, where –F(b1, b2, …, bn) =
-(F(b1, b2, …, bn)).
Let F and G be Boolean functions of degree n. The
Boolean sum F+G and Boolean product FG are then
defined by
(F + G)(b1, b2, …, bn) = F(b1, b2, …, bn) + G(b1, b2, …, bn)
(FG)(b1, b2, …, bn) = F(b1, b2, …, bn) G(b1, b2, …, bn)
Spring 2003 CMSC 203 - Discrete Structures 65
Boolean Functions and Expressions
Question: How many different Boolean functions
of degree 1 are there?
Solution: There are four of them, F1, F2, F3, and F4:
0
1
F3
1
0
F2
1
0
1
1
0
0
F4
F1
x
Spring 2003 CMSC 203 - Discrete Structures 66
Boolean Functions and Expressions
Question: How many different Boolean functions
of degree 2 are there?
Solution: There are 16 of them, F1, F2, …, F16:
1
0
0
0
F2
0
0
0
0
F1
0
1
0
1
0
1
0
1
1
0
0
0
F3
y
x
1
1
1
0
F8
0
1
1
0
F7
0
0
0
1
F9
0
0
1
0
F5
1
1
0
0
F4
1
0
1
0
F6
0
1
0
1
F11
1
0
0
1
F10
0
1
1
1
F12
1
0
1
1
F1
4
0
0
1
1
F1
3
1
1
0
1
F1
5
1
1
1
1
F16
Spring 2003 CMSC 203 - Discrete Structures 67
Boolean Functions and Expressions
Question: How many different Boolean functions
of degree n are there?
Solution:
There are 2n different n-tuples of 0s and 1s.
A Boolean function is an assignment of 0 or 1 to
each of these 2n different n-tuples.
Therefore, there are 22n
different Boolean
functions.
Spring 2003 CMSC 203 - Discrete Structures 68
Duality
There are useful identities of Boolean expressions
that can help us to transform an expression A into
an equivalent expression B (see Table 5 on page
705 in the textbook).
We can derive additional identities with the help
of the dual of a Boolean expression.
The dual of a Boolean expression is obtained by
interchanging Boolean sums and Boolean products
and interchanging 0s and 1s.
Spring 2003 CMSC 203 - Discrete Structures 69
Duality
Examples:
The dual of x(y + z) is x + yz.
The dual of -x1 + (-y + z) is (-x + 0)((-y)z).
The dual of a Boolean function F represented by
a Boolean expression is the function represented
by the dual of this expression.
This dual function, denoted by Fd, does not
depend on the particular Boolean expression used
to represent F.
Spring 2003 CMSC 203 - Discrete Structures 70
Duality
Therefore, an identity between functions
represented by Boolean expressions remains valid
when the duals of both sides of the identity are
taken.
We can use this fact, called the duality principle,
to derive new identities.
For example, consider the absorption law
x(x + y) = x.
By taking the duals of both sides of this identity,
we obtain the equation x + xy = x, which is also an
identity (and also called an absorption law).
Spring 2003 CMSC 203 - Discrete Structures 71
Definition of a Boolean Algebra
All the properties of Boolean functions and
expressions that we have discovered also apply to
other mathematical structures such as
propositions and sets and the operations defined
on them.
If we can show that a particular structure is a
Boolean algebra, then we know that all results
established about Boolean algebras apply to this
structure.
For this purpose, we need an abstract definition
of a Boolean algebra.
Spring 2003 CMSC 203 - Discrete Structures 72
Definition of a Boolean Algebra
Definition: A Boolean algebra is a set B with two
binary operations  and , elements 0 and 1, and a
unary operation – such that the following
properties hold for all x, y, and z in B:
x  0 = x and x  1 = x (identity laws)
x  (-x) = 1 and x  (-x) = 0 (domination laws)
(x  y)  z = x  (y  z) and
(x  y)  z = x  (y  z) and (associative laws)
x  y = y  x and x  y = y  x (commutative laws)
x  (y  z) = (x  y)  (x  z) and
x  (y  z) = (x  y)  (x  z) (distributive laws)
Spring 2003 CMSC 203 - Discrete Structures 73
Logic Gates
Electronic circuits consist of so-called gates.
There are three basic types of gates:
x
y
x+y
OR gate
AND gate
x
y
xy
x -x
inverter
Spring 2003 CMSC 203 - Discrete Structures 74
Logic Gates
Example: How can we build a circuit that computes
the function xy + (-x)y ?
xy + (-x)y
x
y
xy
x -x
y
(-x)y
Spring 2003 CMSC 203 - Discrete Structures 75
Logic, Sets, and Boolean Algebra
Logic Set Boolean Algebra
False  0
True U 1
AB AB AB
AB AB A+B
A AC
Compare the equivalence laws of them
A

More Related Content

Similar to Ch01-2.ppt

02-Basic Structures .ppt
02-Basic Structures .ppt02-Basic Structures .ppt
02-Basic Structures .pptAcct4
 
sets and their introduction and their exercises.pptx
sets and their introduction and their exercises.pptxsets and their introduction and their exercises.pptx
sets and their introduction and their exercises.pptxZenLooper
 
Discrete Mathematics and Its Applications 7th Edition Rose Solutions Manual
Discrete Mathematics and Its Applications 7th Edition Rose Solutions ManualDiscrete Mathematics and Its Applications 7th Edition Rose Solutions Manual
Discrete Mathematics and Its Applications 7th Edition Rose Solutions ManualTallulahTallulah
 
Set theory-ppt
Set theory-pptSet theory-ppt
Set theory-pptvipulAtri
 
JEE+Crash+course+_+Phase+I+_+Session+1+_+Sets+and++Relations+&+Functions+_+7t...
JEE+Crash+course+_+Phase+I+_+Session+1+_+Sets+and++Relations+&+Functions+_+7t...JEE+Crash+course+_+Phase+I+_+Session+1+_+Sets+and++Relations+&+Functions+_+7t...
JEE+Crash+course+_+Phase+I+_+Session+1+_+Sets+and++Relations+&+Functions+_+7t...7anantsharma7
 
Answers Of Discrete Mathematics
Answers Of Discrete MathematicsAnswers Of Discrete Mathematics
Answers Of Discrete MathematicsSabrina Green
 
SET THEORY
SET THEORYSET THEORY
SET THEORYLena
 
Final maths presentation on sets
Final maths presentation on setsFinal maths presentation on sets
Final maths presentation on setsRahul Avicii
 
SETS - Vedantu.pdf
SETS - Vedantu.pdfSETS - Vedantu.pdf
SETS - Vedantu.pdfAneeshRenu
 
mathematical sets.pdf
mathematical sets.pdfmathematical sets.pdf
mathematical sets.pdfJihudumie.Com
 
Introduction to set theory
Introduction to set theoryIntroduction to set theory
Introduction to set theoryNittaya Noinan
 
schaums-probability.pdf
schaums-probability.pdfschaums-probability.pdf
schaums-probability.pdfSahat Hutajulu
 

Similar to Ch01-2.ppt (20)

sets by navneet
sets by navneetsets by navneet
sets by navneet
 
Chpt 2-sets v.3
Chpt 2-sets v.3Chpt 2-sets v.3
Chpt 2-sets v.3
 
3a-Set theory.ppt
3a-Set theory.ppt3a-Set theory.ppt
3a-Set theory.ppt
 
02-Basic Structures .ppt
02-Basic Structures .ppt02-Basic Structures .ppt
02-Basic Structures .ppt
 
sets and their introduction and their exercises.pptx
sets and their introduction and their exercises.pptxsets and their introduction and their exercises.pptx
sets and their introduction and their exercises.pptx
 
discrete maths notes.ppt
discrete maths notes.pptdiscrete maths notes.ppt
discrete maths notes.ppt
 
Discrete Mathematics and Its Applications 7th Edition Rose Solutions Manual
Discrete Mathematics and Its Applications 7th Edition Rose Solutions ManualDiscrete Mathematics and Its Applications 7th Edition Rose Solutions Manual
Discrete Mathematics and Its Applications 7th Edition Rose Solutions Manual
 
Set theory-ppt
Set theory-pptSet theory-ppt
Set theory-ppt
 
JEE+Crash+course+_+Phase+I+_+Session+1+_+Sets+and++Relations+&+Functions+_+7t...
JEE+Crash+course+_+Phase+I+_+Session+1+_+Sets+and++Relations+&+Functions+_+7t...JEE+Crash+course+_+Phase+I+_+Session+1+_+Sets+and++Relations+&+Functions+_+7t...
JEE+Crash+course+_+Phase+I+_+Session+1+_+Sets+and++Relations+&+Functions+_+7t...
 
Answers Of Discrete Mathematics
Answers Of Discrete MathematicsAnswers Of Discrete Mathematics
Answers Of Discrete Mathematics
 
Set theory
Set theorySet theory
Set theory
 
8076892 (1).ppt
8076892 (1).ppt8076892 (1).ppt
8076892 (1).ppt
 
SET THEORY
SET THEORYSET THEORY
SET THEORY
 
Final maths presentation on sets
Final maths presentation on setsFinal maths presentation on sets
Final maths presentation on sets
 
2.1 Sets
2.1 Sets2.1 Sets
2.1 Sets
 
SETS - Vedantu.pdf
SETS - Vedantu.pdfSETS - Vedantu.pdf
SETS - Vedantu.pdf
 
Set theory
Set theorySet theory
Set theory
 
mathematical sets.pdf
mathematical sets.pdfmathematical sets.pdf
mathematical sets.pdf
 
Introduction to set theory
Introduction to set theoryIntroduction to set theory
Introduction to set theory
 
schaums-probability.pdf
schaums-probability.pdfschaums-probability.pdf
schaums-probability.pdf
 

Recently uploaded

Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubaihf8803863
 
Predicting Employee Churn: A Data-Driven Approach Project Presentation
Predicting Employee Churn: A Data-Driven Approach Project PresentationPredicting Employee Churn: A Data-Driven Approach Project Presentation
Predicting Employee Churn: A Data-Driven Approach Project PresentationBoston Institute of Analytics
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service LucknowAminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknowmakika9823
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
 
Digi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptxDigi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptxTanveerAhmed817946
 

Recently uploaded (20)

Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
 
Predicting Employee Churn: A Data-Driven Approach Project Presentation
Predicting Employee Churn: A Data-Driven Approach Project PresentationPredicting Employee Churn: A Data-Driven Approach Project Presentation
Predicting Employee Churn: A Data-Driven Approach Project Presentation
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service LucknowAminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
Aminabad Call Girl Agent 9548273370 , Call Girls Service Lucknow
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
Decoding Loan Approval: Predictive Modeling in Action
Decoding Loan Approval: Predictive Modeling in ActionDecoding Loan Approval: Predictive Modeling in Action
Decoding Loan Approval: Predictive Modeling in Action
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
 
Digi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptxDigi Khata Problem along complete plan.pptx
Digi Khata Problem along complete plan.pptx
 

Ch01-2.ppt

  • 1. Spring 2003 CMSC 203 - Discrete Structures 1 … and now for something completely different… Set Theory Actually, you will see that logic and set theory are very closely related.
  • 2. Spring 2003 CMSC 203 - Discrete Structures 2 Set Theory • Set: Collection of objects (called elements) • aA “a is an element of A” “a is a member of A” • aA “a is not an element of A” • A = {a1, a2, …, an} “A contains a1, …, an” • Order of elements is insignificant • It does not matter how often the same element is listed (repetition doesn’t count).
  • 3. Spring 2003 CMSC 203 - Discrete Structures 3 Set Equality Sets A and B are equal if and only if they contain exactly the same elements. Examples: • A = {9, 2, 7, -3}, B = {7, 9, -3, 2} : A = B • A = {dog, cat, horse}, B = {cat, horse, squirrel, dog} : A  B • A = {dog, cat, horse}, B = {cat, horse, dog, dog} : A = B
  • 4. Spring 2003 CMSC 203 - Discrete Structures 4 Examples for Sets “Standard” Sets: • Natural numbers N = {0, 1, 2, 3, …} • Integers Z = {…, -2, -1, 0, 1, 2, …} • Positive Integers Z+ = {1, 2, 3, 4, …} • Real Numbers R = {47.3, -12, , …} • Rational Numbers Q = {1.5, 2.6, -3.8, 15, …} (correct definitions will follow)
  • 5. Spring 2003 CMSC 203 - Discrete Structures 5 Examples for Sets • A =  “empty set/null set” • A = {z} Note: zA, but z  {z} • A = {{b, c}, {c, x, d}} set of sets • A = {{x, y}} Note: {x, y} A, but {x, y}  {{x, y}} • A = {x | P(x)} “set of all x such that P(x)” P(x) is the membership function of set A x (P(x)  xA) • A = {x | x N  x > 7} = {8, 9, 10, …} “set builder notation”
  • 6. Spring 2003 CMSC 203 - Discrete Structures 6 Examples for Sets We are now able to define the set of rational numbers Q: Q = {a/b | aZ  bZ+}, or Q = {a/b | aZ  bZ  b0} And how about the set of real numbers R? R = {r | r is a real number} That is the best we can do. It can neither be defined by enumeration nor builder function.
  • 7. Spring 2003 CMSC 203 - Discrete Structures 7 Subsets A  B “A is a subset of B” A  B if and only if every element of A is also an element of B. We can completely formalize this: A  B  x (xA xB) Examples: A = {3, 9}, B = {5, 9, 1, 3}, A  B ? true A = {3, 3, 3, 9}, B = {5, 9, 1, 3}, A  B ? false true A = {1, 2, 3}, B = {2, 3, 4}, A  B ?
  • 8. Spring 2003 CMSC 203 - Discrete Structures 8 Subsets Useful rules: • A = B  (A  B)  (B A) • (A  B) (B  C)  A  C (see Venn Diagram) U A B C
  • 9. Spring 2003 CMSC 203 - Discrete Structures 9 Subsets Useful rules: •   A for any set A (but   A may not hold for any set A) • A  A for any set A Proper subsets: A  B “A is a proper subset of B” A  B  x (xA  xB)  x (xB  xA) or A  B  x (xA  xB)  x (xB xA)
  • 10. Spring 2003 CMSC 203 - Discrete Structures 10 Cardinality of Sets If a set S contains n distinct elements, nN, we call S a finite set with cardinality n. Examples: A = {Mercedes, BMW, Porsche}, |A| = 3 B = {1, {2, 3}, {4, 5}, 6} |B| = 4 C =  |C| = 0 D = { xN | x  7000 } |D| = 7001 E = { xN | x  7000 } E is infinite!
  • 11. Spring 2003 CMSC 203 - Discrete Structures 11 The Power Set P(A) “power set of A” (also written as 2A) P(A) = {B | B  A} (contains all subsets of A) Examples: A = {x, y, z} P(A) = {, {x}, {y}, {z}, {x, y}, {x, z}, {y, z}, {x, y, z}} A =  P(A) = {} Note: |A| = 0, |P(A)| = 1
  • 12. Spring 2003 CMSC 203 - Discrete Structures 12 The Power Set Cardinality of power sets: | P(A) | = 2|A| • Imagine each element in A has an “on/off” switch • Each possible switch configuration in A corresponds to one subset of A, thus one element in P(A) z z z z z z z z z y y y y y y y y y x x x x x x x x x 8 7 6 5 4 3 2 1 A • For 3 elements in A, there are 222 = 8 elements in P(A)
  • 13. Spring 2003 CMSC 203 - Discrete Structures 13 Cartesian Product The ordered n-tuple (a1, a2, a3, …, an) is an ordered collection of n objects. Two ordered n-tuples (a1, a2, a3, …, an) and (b1, b2, b3, …, bn) are equal if and only if they contain exactly the same elements in the same order, i.e. ai = bi for 1  i  n. The Cartesian product of two sets is defined as: AB = {(a, b) | aA  bB}
  • 14. Spring 2003 CMSC 203 - Discrete Structures 14 Cartesian Product Example: A = {good, bad}, B = {student, prof} AB = { (good, student), (good, prof), (bad, student), (bad, prof)} (prof, bad)} (student, good), (prof, good), (student, bad), BA = { Example: A = {x, y}, B = {a, b, c} AB = {(x, a), (x, b), (x, c), (y, a), (y, b), (y, c)}
  • 15. Spring 2003 CMSC 203 - Discrete Structures 15 Cartesian Product Note that: • A =  • A =  • For non-empty sets A and B: AB  AB  BA • |AB| = |A||B| The Cartesian product of two or more sets is defined as: A1A2…An = {(a1, a2, …, an) | aiAi for 1  i  n}
  • 16. Spring 2003 CMSC 203 - Discrete Structures 16 Set Operations Union: AB = {x | xA  xB} Example: A = {a, b}, B = {b, c, d} AB = {a, b, c, d} Intersection: AB = {x | xA  xB} Example: A = {a, b}, B = {b, c, d} AB = {b} Cardinality: |AB| = |A| + |B| - |AB|
  • 17. Spring 2003 CMSC 203 - Discrete Structures 17 Set Operations Two sets are called disjoint if their intersection is empty, that is, they share no elements: AB =  The difference between two sets A and B contains exactly those elements of A that are not in B: A-B = {x | xA  xB} Example: A = {a, b}, B = {b, c, d}, A-B = {a} Cardinality: |A-B| = |A| - |AB|
  • 18. Spring 2003 CMSC 203 - Discrete Structures 18 Set Operations The complement of a set A contains exactly those elements under consideration that are not in A: denoted Ac (or as in the text) Ac = U-A Example: U = N, B = {250, 251, 252, …} Bc = {0, 1, 2, …, 248, 249} A
  • 19. Spring 2003 CMSC 203 - Discrete Structures 19 Logical Equivalence Equivalence laws – Identity laws, P  T  P, – Domination laws, P  F  F, – Idempotent laws, P  P  P, – Double negation law,  ( P)  P – Commutative laws, P  Q  Q  P, – Associative laws, P  (Q  R) (P  Q)  R, – Distributive laws, P  (Q  R) (P  Q)  (P  R), – De Morgan’s laws,  (PQ)  ( P)  ( Q) – Law with implication P  Q   P  Q
  • 20. Spring 2003 CMSC 203 - Discrete Structures 20 Set Identity Table 1 in Section 1.7 shows many useful equations – Identity laws, A = A, AU = A – Domination laws, AU = U, A =  – Idempotent laws, AA = A, AA = A – Complementation law, (Ac)c = A – Commutative laws, AB = BA, AB = BA – Associative laws, A(B  C) = (AB)C, … – Distributive laws, A(BC) = (AB)(AC), … – De Morgan’s laws, (AB)c = AcBc, (AB)c = AcBc – Absorption laws, A(AB) = A, A(AB) = A – Complement laws, AAc = U, AAc = 
  • 21. Spring 2003 CMSC 203 - Discrete Structures 21 Set Identity How can we prove A(BC) = (AB)(AC)? Method I: logical equivalent xA(BC)  xA  x(BC)  xA  (xB  xC)  (xA  xB)  (xA  xC) (distributive law)  x(AB)  x(AC)  x(AB)(AC) Every logical expression can be transformed into an equivalent expression in set theory and vice versa.
  • 22. Spring 2003 CMSC 203 - Discrete Structures 22 Set Operations Method II: Membership table 1 means “x is an element of this set” 0 means “x is not an element of this set” 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 (AB) (AC) AC AB A(BC) BC A B C
  • 23. Spring 2003 CMSC 203 - Discrete Structures 23 … and the following mathematical appetizer is about… Functions
  • 24. Spring 2003 CMSC 203 - Discrete Structures 24 Functions A function f from a set A to a set B is an assignment of exactly one element of B to each element of A. We write f(a) = b if b is the unique element of B assigned by the function f to the element a of A. If f is a function from A to B, we write f: AB (note: Here, ““ has nothing to do with if… then)
  • 25. Spring 2003 CMSC 203 - Discrete Structures 25 Functions If f:AB, we say that A is the domain of f and B is the codomain of f. If f(a) = b, we say that b is the image of a and a is the pre-image of b. The range of f:AB is the set of all images of all elements of A. We say that f:AB maps A to B.
  • 26. Spring 2003 CMSC 203 - Discrete Structures 26 Functions Let us take a look at the function f:PC with P = {Linda, Max, Kathy, Peter} C = {Boston, New York, Hong Kong, Moscow} f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = New York Here, the range of f is C.
  • 27. Spring 2003 CMSC 203 - Discrete Structures 27 Functions Let us re-specify f as follows: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston Is f still a function? yes {Moscow, Boston, Hong Kong} What is its range?
  • 28. Spring 2003 CMSC 203 - Discrete Structures 28 Functions Other ways to represent f: Boston Peter Hong Kong Kathy Boston Max Moscow Linda f(x) x Linda Max Kathy Peter Boston New York Hong Kong Moscow
  • 29. Spring 2003 CMSC 203 - Discrete Structures 29 Functions If the domain of our function f is large, it is convenient to specify f with a formula, e.g.: f:RR f(x) = 2x This leads to: f(1) = 2 f(3) = 6 f(-3) = -6 …
  • 30. Spring 2003 CMSC 203 - Discrete Structures 30 Functions Let f1 and f2 be functions from A to R. Then the sum and the product of f1 and f2 are also functions from A to R defined by: (f1 + f2)(x) = f1(x) + f2(x) (f1f2)(x) = f1(x) f2(x) Example: f1(x) = 3x, f2(x) = x + 5 (f1 + f2)(x) = f1(x) + f2(x) = 3x + x + 5 = 4x + 5 (f1f2)(x) = f1(x) f2(x) = 3x (x + 5) = 3x2 + 15x
  • 31. Spring 2003 CMSC 203 - Discrete Structures 31 Functions We already know that the range of a function f:AB is the set of all images of elements aA. If we only regard a subset SA, the set of all images of elements sS is called the image of S. We denote the image of S by f(S): f(S) = {f(s) | sS}
  • 32. Spring 2003 CMSC 203 - Discrete Structures 32 Functions Let us look at the following well-known function: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston What is the image of S = {Linda, Max} ? f(S) = {Moscow, Boston} What is the image of S = {Max, Peter} ? f(S) = {Boston}
  • 33. Spring 2003 CMSC 203 - Discrete Structures 33 Properties of Functions A function f:AB is said to be one-to-one (or injective), if and only if x, yA (f(x) = f(y)  x = y) In other words: f is one-to-one if and only if it does not map two distinct elements of A onto the same element of B.
  • 34. Spring 2003 CMSC 203 - Discrete Structures 34 Properties of Functions And again… f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Boston Is f one-to-one? No, Max and Peter are mapped onto the same element of the image. g(Linda) = Moscow g(Max) = Boston g(Kathy) = Hong Kong g(Peter) = New York Is g one-to-one? Yes, each element is assigned a unique element of the image.
  • 35. Spring 2003 CMSC 203 - Discrete Structures 35 Properties of Functions How can we prove that a function f is one-to-one? Whenever you want to prove something, first take a look at the relevant definition(s): x, yA (f(x) = f(y)  x = y) Example: f:RR f(x) = x2 Disproof by counterexample: f(3) = f(-3), but 3  -3, so f is not one-to-one.
  • 36. Spring 2003 CMSC 203 - Discrete Structures 36 Properties of Functions … and yet another example: f:RR f(x) = 3x One-to-one: x, yA (f(x) = f(y)  x = y) To show: f(x)  f(y) whenever x  y (indirect proof) x  y  3x  3y  f(x)  f(y), so if x  y, then f(x)  f(y), that is, f is one-to-one.
  • 37. Spring 2003 CMSC 203 - Discrete Structures 37 Properties of Functions A function f:AB with A,B  R is called strictly increasing, if x,yA (x < y  f(x) < f(y)), and strictly decreasing, if x,yA (x < y  f(x) > f(y)). Obviously, a function that is either strictly increasing or strictly decreasing is one-to-one.
  • 38. Spring 2003 CMSC 203 - Discrete Structures 38 Properties of Functions A function f:AB is called onto, or surjective, if and only if for every element bB there is an element aA with f(a) = b. In other words, f is onto if and only if its range is its entire codomain. A function f: AB is a one-to-one correspondence, or a bijection, if and only if it is both one-to-one and onto. Obviously, if f is a bijection and A and B are finite sets, then |A| = |B|.
  • 39. Spring 2003 CMSC 203 - Discrete Structures 39 Properties of Functions Examples: In the following examples, we use the arrow representation to illustrate functions f:AB. In each example, the complete sets A and B are shown.
  • 40. Spring 2003 CMSC 203 - Discrete Structures 40 Properties of Functions Is f injective? No. Is f surjective? No. Is f bijective? No. Linda Max Kathy Peter Boston New York Hong Kong Moscow
  • 41. Spring 2003 CMSC 203 - Discrete Structures 41 Properties of Functions Is f injective? No. Is f surjective? Yes. Is f bijective? No. Linda Max Kathy Peter Boston New York Hong Kong Moscow Paul
  • 42. Spring 2003 CMSC 203 - Discrete Structures 42 Properties of Functions Is f injective? Yes. Is f surjective? No. Is f bijective? No. Linda Max Kathy Peter Boston New York Hong Kong Moscow Lübeck
  • 43. Spring 2003 CMSC 203 - Discrete Structures 43 Properties of Functions Is f injective? No! f is not even a function! Linda Max Kathy Peter Boston New York Hong Kong Moscow Lübeck
  • 44. Spring 2003 CMSC 203 - Discrete Structures 44 Properties of Functions Is f injective? Yes. Is f surjective? Yes. Is f bijective? Yes. Linda Max Kathy Peter Boston New York Hong Kong Moscow Lübeck Helena
  • 45. Spring 2003 CMSC 203 - Discrete Structures 45 Inversion An interesting property of bijections is that they have an inverse function. The inverse function of the bijection f:AB is the function f-1:BA with f-1(b) = a whenever f(a) = b.
  • 46. Spring 2003 CMSC 203 - Discrete Structures 46 Inversion Example: f(Linda) = Moscow f(Max) = Boston f(Kathy) = Hong Kong f(Peter) = Lübeck f(Helena) = New York Clearly, f is bijective. The inverse function f-1 is given by: f-1(Moscow) = Linda f-1(Boston) = Max f-1(Hong Kong) = Kathy f-1(Lübeck) = Peter f-1(New York) = Helena Inversion is only possible for bijections (= invertible functions)
  • 47. Spring 2003 CMSC 203 - Discrete Structures 47 Inversion Linda Max Kathy Peter Boston New York Hong Kong Moscow Lübeck Helena f f-1 f-1:CP is no function, because it is not defined for all elements of C and assigns two images to the pre- image New York.
  • 48. Spring 2003 CMSC 203 - Discrete Structures 48 Composition The composition of two functions g:AB and f:BC, denoted by fg, is defined by (fg)(a) = f(g(a)) This means that • first, function g is applied to element aA, mapping it onto an element of B, • then, function f is applied to this element of B, mapping it onto an element of C. • Therefore, the composite function maps from A to C.
  • 49. Spring 2003 CMSC 203 - Discrete Structures 49 Composition Example: f(x) = 7x – 4, g(x) = 3x, f:RR, g:RR (fg)(5) = f(g(5)) = f(15) = 105 – 4 = 101 (fg)(x) = f(g(x)) = f(3x) = 21x - 4
  • 50. Spring 2003 CMSC 203 - Discrete Structures 50 Composition Composition of a function and its inverse: (f-1f)(x) = f-1(f(x)) = x The composition of a function and its inverse is the identity function i(x) = x.
  • 51. Spring 2003 CMSC 203 - Discrete Structures 51 Graphs The graph of a function f:AB is the set of ordered pairs {(a, b) | aA and f(a) = b}. The graph is a subset of AB that can be used to visualize f in a two-dimensional coordinate system.
  • 52. Spring 2003 CMSC 203 - Discrete Structures 52 Floor and Ceiling Functions The floor and ceiling functions map the real numbers onto the integers (RZ). The floor function assigns to rR the largest zZ with z  r, denoted by r. Examples: 2.3 = 2, 2 = 2, 0.5 = 0, -3.5 = -4 The ceiling function assigns to rR the smallest zZ with z  r, denoted by r. Examples: 2.3 = 3, 2 = 2, 0.5 = 1, -3.5 = -3
  • 53. Spring 2003 CMSC 203 - Discrete Structures 53 Now, something about BooleanAl gebra (section 10.1)
  • 54. Spring 2003 CMSC 203 - Discrete Structures 54 Boolean Algebra Boolean algebra provides the operations and the rules for working with the set {0, 1}. These are the rules that underlie electronic circuits, and the methods we will discuss are fundamental to VLSI design. We are going to focus on three operations: • Boolean complementation, • Boolean sum, and • Boolean product
  • 55. Spring 2003 CMSC 203 - Discrete Structures 55 Boolean Operations The complement is denoted by a bar (on the slides, we will use a minus sign). It is defined by -0 = 1 and -1 = 0. The Boolean sum, denoted by + or by OR, has the following values: 1 + 1 = 1, 1 + 0 = 1, 0 + 1 = 1, 0 + 0 = 0 The Boolean product, denoted by  or by AND, has the following values: 1  1 = 1, 1  0 = 0, 0  1 = 0, 0  0 = 0
  • 56. Spring 2003 CMSC 203 - Discrete Structures 56 Boolean Functions and Expressions Definition: Let B = {0, 1}. The variable x is called a Boolean variable if it assumes values only from B. A function from Bn, the set {(x1, x2, …, xn) |xiB, 1  i  n}, to B is called a Boolean function of degree n. Boolean functions can be represented using expressions made up from the variables and Boolean operations.
  • 57. Spring 2003 CMSC 203 - Discrete Structures 57 Boolean Functions and Expressions The Boolean expressions in the variables x1, x2, …, xn are defined recursively as follows: • 0, 1, x1, x2, …, xn are Boolean expressions. • If E1 and E2 are Boolean expressions, then (-E1), (E1E2), and (E1 + E2) are Boolean expressions. Each Boolean expression represents a Boolean function. The values of this function are obtained by substituting 0 and 1 for the variables in the expression.
  • 58. Spring 2003 CMSC 203 - Discrete Structures 58 Boolean Functions and Expressions For example, we can create Boolean expression in the variables x, y, and z using the “building blocks” 0, 1, x, y, and z, and the construction rules: Since x and y are Boolean expressions, so is xy. Since z is a Boolean expression, so is (-z). Since xy and (-z) are expressions, so is xy + (-z). … and so on…
  • 59. Spring 2003 CMSC 203 - Discrete Structures 59 Boolean Functions and Expressions Example: Give a Boolean expression for the Boolean function F(x, y) as defined by the following table: 1 1 0 0 0 1 0 1 1 0 0 0 F(x, y) y x Possible solution: F(x, y) = (-x)y
  • 60. Spring 2003 CMSC 203 - Discrete Structures 60 Boolean Functions and Expressions Another Example: Possible solution I: F(x, y, z) = -(xz + y) 0 0 1 1 F(x, y, z) 1 0 1 0 z 0 0 1 0 1 0 0 0 y x 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 Possible solution II: F(x, y, z) = (-(xz))(-y)
  • 61. Spring 2003 CMSC 203 - Discrete Structures 61 Boolean Functions and Expressions There is a simple method for deriving a Boolean expression for a function that is defined by a table. This method is based on minterms. Definition: A literal is a Boolean variable or its complement. A minterm of the Boolean variables x1, x2, …, xn is a Boolean product y1y2…yn, where yi = xi or yi = -xi. Hence, a minterm is a product of n literals, with one literal for each variable.
  • 62. Spring 2003 CMSC 203 - Discrete Structures 62 Boolean Functions and Expressions Consider F(x,y,z) again: F(x, y, z) = 1 if and only if: x = y = z = 0 or x = y = 0, z = 1 or x = 1, y = z = 0 Therefore, F(x, y, z) = (-x)(-y)(-z) + (-x)(-y)z + x(-y)(-z) 0 0 1 1 F(x, y, z) 1 0 1 0 z 0 0 1 0 1 0 0 0 y x 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1
  • 63. Spring 2003 CMSC 203 - Discrete Structures 63 Boolean Functions and Expressions Definition: The Boolean functions F and G of n variables are equal if and only if F(b1, b2, …, bn) = G(b1, b2, …, bn) whenever b1, b2, …, bn belong to B. Two different Boolean expressions that represent the same function are called equivalent. For example, the Boolean expressions xy, xy + 0, and xy1 are equivalent.
  • 64. Spring 2003 CMSC 203 - Discrete Structures 64 Boolean Functions and Expressions The complement of the Boolean function F is the function –F, where –F(b1, b2, …, bn) = -(F(b1, b2, …, bn)). Let F and G be Boolean functions of degree n. The Boolean sum F+G and Boolean product FG are then defined by (F + G)(b1, b2, …, bn) = F(b1, b2, …, bn) + G(b1, b2, …, bn) (FG)(b1, b2, …, bn) = F(b1, b2, …, bn) G(b1, b2, …, bn)
  • 65. Spring 2003 CMSC 203 - Discrete Structures 65 Boolean Functions and Expressions Question: How many different Boolean functions of degree 1 are there? Solution: There are four of them, F1, F2, F3, and F4: 0 1 F3 1 0 F2 1 0 1 1 0 0 F4 F1 x
  • 66. Spring 2003 CMSC 203 - Discrete Structures 66 Boolean Functions and Expressions Question: How many different Boolean functions of degree 2 are there? Solution: There are 16 of them, F1, F2, …, F16: 1 0 0 0 F2 0 0 0 0 F1 0 1 0 1 0 1 0 1 1 0 0 0 F3 y x 1 1 1 0 F8 0 1 1 0 F7 0 0 0 1 F9 0 0 1 0 F5 1 1 0 0 F4 1 0 1 0 F6 0 1 0 1 F11 1 0 0 1 F10 0 1 1 1 F12 1 0 1 1 F1 4 0 0 1 1 F1 3 1 1 0 1 F1 5 1 1 1 1 F16
  • 67. Spring 2003 CMSC 203 - Discrete Structures 67 Boolean Functions and Expressions Question: How many different Boolean functions of degree n are there? Solution: There are 2n different n-tuples of 0s and 1s. A Boolean function is an assignment of 0 or 1 to each of these 2n different n-tuples. Therefore, there are 22n different Boolean functions.
  • 68. Spring 2003 CMSC 203 - Discrete Structures 68 Duality There are useful identities of Boolean expressions that can help us to transform an expression A into an equivalent expression B (see Table 5 on page 705 in the textbook). We can derive additional identities with the help of the dual of a Boolean expression. The dual of a Boolean expression is obtained by interchanging Boolean sums and Boolean products and interchanging 0s and 1s.
  • 69. Spring 2003 CMSC 203 - Discrete Structures 69 Duality Examples: The dual of x(y + z) is x + yz. The dual of -x1 + (-y + z) is (-x + 0)((-y)z). The dual of a Boolean function F represented by a Boolean expression is the function represented by the dual of this expression. This dual function, denoted by Fd, does not depend on the particular Boolean expression used to represent F.
  • 70. Spring 2003 CMSC 203 - Discrete Structures 70 Duality Therefore, an identity between functions represented by Boolean expressions remains valid when the duals of both sides of the identity are taken. We can use this fact, called the duality principle, to derive new identities. For example, consider the absorption law x(x + y) = x. By taking the duals of both sides of this identity, we obtain the equation x + xy = x, which is also an identity (and also called an absorption law).
  • 71. Spring 2003 CMSC 203 - Discrete Structures 71 Definition of a Boolean Algebra All the properties of Boolean functions and expressions that we have discovered also apply to other mathematical structures such as propositions and sets and the operations defined on them. If we can show that a particular structure is a Boolean algebra, then we know that all results established about Boolean algebras apply to this structure. For this purpose, we need an abstract definition of a Boolean algebra.
  • 72. Spring 2003 CMSC 203 - Discrete Structures 72 Definition of a Boolean Algebra Definition: A Boolean algebra is a set B with two binary operations  and , elements 0 and 1, and a unary operation – such that the following properties hold for all x, y, and z in B: x  0 = x and x  1 = x (identity laws) x  (-x) = 1 and x  (-x) = 0 (domination laws) (x  y)  z = x  (y  z) and (x  y)  z = x  (y  z) and (associative laws) x  y = y  x and x  y = y  x (commutative laws) x  (y  z) = (x  y)  (x  z) and x  (y  z) = (x  y)  (x  z) (distributive laws)
  • 73. Spring 2003 CMSC 203 - Discrete Structures 73 Logic Gates Electronic circuits consist of so-called gates. There are three basic types of gates: x y x+y OR gate AND gate x y xy x -x inverter
  • 74. Spring 2003 CMSC 203 - Discrete Structures 74 Logic Gates Example: How can we build a circuit that computes the function xy + (-x)y ? xy + (-x)y x y xy x -x y (-x)y
  • 75. Spring 2003 CMSC 203 - Discrete Structures 75 Logic, Sets, and Boolean Algebra Logic Set Boolean Algebra False  0 True U 1 AB AB AB AB AB A+B A AC Compare the equivalence laws of them A