Documentos de Académico
Documentos de Profesional
Documentos de Cultura
completely different
Set Theory
Actually, you will see that logic and
set theory are very closely related.
Spring 2003
Set Theory
Set: Collection of objects (called elements)
aA
a is an element of A
a is a member of A
aA
a is not an element of A
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
AB
A=B
Spring 2003
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
Subsets
AB
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 (xA xB)
Examples:
A B ? true
A B ? false
Subsets
Useful rules:
A = B (A B) (B A)
(A B) (B C) A C (see Venn Diagram)
U
B
Spring 2003
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:
AB
A is a proper subset of B
A B x (xA xB) x (xB xA)
or
A B x (xA xB) x (xB xA)
Spring 2003
Cardinality of Sets
If a set S contains n distinct elements, nN,
we call S a finite set with cardinality n.
Examples:
A = {Mercedes, BMW, Porsche}, |A| = 3
B = {1, {2, 3}, {4, 5}, 6}
C=
D = { xN | x 7000 }
|B| = 4
|C| = 0
|D| = 7001
E = { xN | x 7000 }
E is infinite!
Spring 2003
10
11
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
y
z
y
z
y
z
y
z
y
z
y
z
y
z
y
z
y
z
12
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:
AB = {(a, b) | aA bB}
Spring 2003
13
Cartesian Product
Example:
A = {good, bad}, B = {student, prof}
A B = {
}
BA = { (student, good), (prof, good), (student, bad), (prof, bad)}
(good, student), (good, prof), (bad, student), (bad, prof)
Spring 2003
14
Cartesian Product
Note that:
A =
A =
For non-empty sets A and B: AB AB BA
|AB| = |A||B|
The Cartesian product of two or more sets is
defined as:
A1A2An = {(a1, a2, , an) | aiAi for 1 i n}
Spring 2003
15
Set Operations
Union: AB = {x | xA xB}
Example: A = {a, b}, B = {b, c, d}
AB = {a, b, c, d}
Intersection: AB = {x | xA xB}
Example: A = {a, b}, B = {b, c, d}
AB = {b}
Cardinality: |AB| = |A| + |B| - |AB|
Spring 2003
16
Set Operations
Two sets are called disjoint if their intersection
is empty, that is, they share no elements:
AB =
The difference between two sets A and B
contains exactly those elements of A that are
not in B:
A-B = {x | xA xB}
Example: A = {a, b}, B = {b, c, d}, A-B = {a}
Cardinality: |A-B| = |A| - |AB|
Spring 2003
17
Set Operations
The complement of a set A contains exactly
those elements under consideration that are not
in A: denoted Ac (or A as in the text)
Ac = U-A
Example: U = N, B = {250, 251, 252, }
Bc = {0, 1, 2, , 248, 249}
Spring 2003
18
Logical Equivalence
Equivalence laws
Identity laws,
Domination laws,
Idempotent laws,
Double negation law,
Commutative laws,
Associative laws,
Distributive laws,
De Morgans laws,
Law with implication
Spring 2003
P T P,
P F F,
P P P,
( P ) P
P Q Q P,
P (Q R) (P Q) R,
P (Q R) (P Q) (P R),
(PQ) ( P) ( Q)
P Q PQ
19
Set Identity
A = A, AU = A
Domination laws,
AU = U, A =
Idempotent laws,
AA = A, AA = A
Complementation law, (Ac)c = A
Commutative laws,
Associative laws,
Distributive laws,
AB = BA, AB = BA
A(B C) = (AB)C,
A(BC) = (AB)(AC),
De Morgans laws,
Absorption laws,
Complement laws,
Spring 2003
AAc = U, AAc =
CMSC 203 - Discrete
20
Set Identity
How can we prove A(BC) = (AB)(AC)?
Method I: logical equivalent
xA(BC)
xA x(BC)
xA (xB xC)
(xA xB) (xA xC) (distributive law)
x(AB) x(AC)
x(AB)(AC)
Every logical expression can be transformed into an equivalent
expression in set theory and vice versa.
Spring 2003
21
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
A B C BC
A(BC)
A B
A C
(AB) (AC)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Spring 2003
22
Functions
Spring 2003
23
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: AB
(note: Here, has nothing to do with if then)
Spring 2003
24
Functions
If f:AB, 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:AB is the set of all images of all
elements of A.
We say that f:AB maps A to B.
Spring 2003
25
Functions
Let us take a look at the function f:PC 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
26
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
What is its range?
Spring 2003
27
Functions
Other ways to represent f:
x
f(x)
Linda
Moscow
Max
Boston
Hong
Kong
Boston
Kathy
Peter
Spring 2003
Linda
Boston
Max
New York
Kathy
Hong Kong
Peter
Moscow
28
Functions
If the domain of our function f is large, it is
convenient to specify f with a formula, e.g.:
f:RR
f(x) = 2x
This leads to:
f(1) = 2
f(3) = 6
f(-3) = -6
Spring 2003
29
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
30
Functions
We already know that the range of a function
f:AB is the set of all images of elements aA.
If we only regard a subset SA, the set of all
images of elements sS is called the image of S.
We denote the image of S by f(S):
f(S) = {f(s) | sS}
Spring 2003
31
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
32
Properties of Functions
A function f:AB is said to be one-to-one (or
injective), if and only if
x, yA (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
33
Properties of Functions
And again
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = Boston
g(Linda) = Moscow
g(Max) = Boston
g(Kathy) = Hong Kong
g(Peter) = New York
Is f one-to-one?
Is g one-to-one?
Spring 2003
34
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, yA (f(x) = f(y) x = y)
Example:
f:RR
f(x) = x2
Disproof by counterexample:
f(3) = f(-3), but 3 -3, so f is not one-to-one.
Spring 2003
35
Properties of Functions
and yet another example:
f:RR
f(x) = 3x
One-to-one: x, yA (f(x) = f(y) x = y)
To show: f(x) f(y) whenever x y (indirect proof)
xy
3x 3y
f(x) f(y),
so if x y, then f(x) f(y), that is, f is one-to-one.
Spring 2003
36
Properties of Functions
A function f:AB with A,B R is called strictly
increasing, if
x,yA (x < y f(x) < f(y)),
and strictly decreasing, if
x,yA (x < y f(x) > f(y)).
Obviously, a function that is either strictly
increasing or strictly decreasing is one-to-one.
Spring 2003
37
Properties of Functions
A function f:AB is called onto, or surjective, if
and only if for every element bB there is an
element aA with f(a) = b.
In other words, f is onto if and only if its range is
its entire codomain.
A function f: AB 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
38
Properties of Functions
Examples:
In the following examples, we use the arrow
representation to illustrate functions f:AB.
In each example, the complete sets A and B are
shown.
Spring 2003
39
Properties of Functions
Linda
Boston
Max
New York
Kathy
Hong Kong
Peter
Moscow
Spring 2003
Is f injective?
No.
Is f surjective?
No.
Is f bijective?
No.
40
Properties of Functions
Linda
Boston
Max
New York
Kathy
Hong Kong
Peter
Moscow
Is f injective?
No.
Is f surjective?
Yes.
Is f bijective?
No.
Paul
Spring 2003
41
Properties of Functions
Linda
Boston
Max
New York
Kathy
Hong Kong
Peter
Moscow
Is f injective?
Yes.
Is f surjective?
No.
Is f bijective?
No.
Lbeck
Spring 2003
42
Properties of Functions
Linda
Boston
Max
New York
Kathy
Hong Kong
Peter
Moscow
Is f injective?
No! f is not even
a function!
Lbeck
Spring 2003
43
Properties of Functions
Linda
Boston
Max
New York
Kathy
Hong Kong
Peter
Moscow
Helena
Lbeck
Spring 2003
Is f injective?
Yes.
Is f surjective?
Yes.
Is f bijective?
Yes.
44
Inversion
An interesting property of bijections is that
they have an inverse function.
The inverse function of the bijection f:AB
is the function f-1:BA with
f-1(b) = a whenever f(a) = b.
Spring 2003
45
Inversion
Example:
f(Linda) = Moscow
f(Max) = Boston
f(Kathy) = Hong Kong
f(Peter) = Lbeck
f(Helena) = New York
f-1(Moscow) = Linda
f-1(Boston) = Max
f-1(Hong Kong) = Kathy
f-1(Lbeck) = Peter
f-1(New York) = Helena
Clearly, f is bijective.
Inversion is only
possible for bijections
(= invertible functions)
Spring 2003
46
Inversion
Linda
Boston
Max
New York
f-1
Kathy
Hong Kong
Peter
Moscow
Helena
Lbeck
Spring 2003
f-1:CP is no
function, because
it is not defined
for all elements of
C and assigns two
images to the preimage New York.
47
Composition
The composition of two functions g:AB and
f:BC, denoted by fg, is defined by
(fg)(a) = f(g(a))
This means that
first, function g is applied to element aA,
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
48
Composition
Example:
f(x) = 7x 4, g(x) = 3x,
f:RR, g:RR
(fg)(5) = f(g(5)) = f(15) = 105 4 = 101
(fg)(x) = f(g(x)) = f(3x) = 21x - 4
Spring 2003
49
Composition
Composition of a function and its inverse:
(f-1f)(x) = f-1(f(x)) = x
The composition of a function and its inverse
is the identity function i(x) = x.
Spring 2003
50
Graphs
The graph of a function f:AB is the set of
ordered pairs {(a, b) | aA and f(a) = b}.
The graph is a subset of AB that can be used
to visualize f in a two-dimensional coordinate
system.
Spring 2003
51
52
BooleanAl
gebra
(section 10.1)
Spring 2003
53
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
54
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
1 0 = 0,
Spring 2003
0 1 = 0,
00=0
55
Spring 2003
56
57
Spring 2003
58
59
y
0
0
1
1
0
0
1
1
z F(x, y, z)
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
Spring 2003
Possible solution I:
F(x, y, z) = -(xz + y)
Possible solution II:
F(x, y, z) = (-(xz))(-y)
60
Spring 2003
61
y
0
0
1
1
0
0
1
1
z F(x, y, z)
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
Spring 2003
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)
62
Spring 2003
63
Spring 2003
64
F1
F2
F3
F4
Spring 2003
65
F1
F2
F3
F4
F5
F6 F7
F8
F9 F10
F11
F12
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
0
1
1
1
1
0
0
Spring 2003
0
1
1
0
1
0
0
1
1
1
0
1
1
1
1
0
66
1
1
1
1
Spring 2003
67
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
68
Duality
Examples:
The dual of x(y + z) is x + yz.
The dual of -x1 + (-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
69
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
70
71
(identity laws)
(domination laws)
(x y) z = x (y z) and
(x y) z = x (y z) and
(associative laws)
72
Logic Gates
Electronic circuits consist of so-called gates.
There are three basic types of gates:
x
x
-x
x+y
y
x
y
Spring 2003
xy
inverter
OR gate
AND gate
73
Logic Gates
Example: How can we build a circuit that computes
the function xy + (-x)y ?
x
xy
xy + (-x)y
-x
(-x)y
y
Spring 2003
74
Set
Boolean Algebra
0
True
A B
U
AB
1
AB
A B
A
AB
AC
A+B
A
Spring 2003
75