SlideShare a Scribd company logo
1
Sets
CS 202, Spring 2007
Epp, chapter 5
Aaron Bloomfield
2
What is a set?
• A set is a group of “objects”
– People in a class: { Alice, Bob, Chris }
– Colors of a rainbow: { red, orange, yellow, green, blue, purple }
– States of matter { solid, liquid, gas, plasma }
– States in the US: { Alabama, Alaska, Virginia, … }
– Sets can contain non-related elements: { 3, a, red, Virginia }
• Although a set can contain (almost) anything, we will most
often use sets of numbers
– All positive numbers less than or equal to 5: {1, 2, 3, 4, 5}
– A few selected real numbers: { 2.1, π, 0, -6.32, e }
3
Set properties 1
• Order does not matter
– We often write them in order because it is
easier for humans to understand it that way
– {1, 2, 3, 4, 5} is equivalent to {3, 5, 2, 4, 1}
• Sets are notated with curly brackets
4
Set properties 2
• Sets do not have duplicate elements
– Consider the set of vowels in the alphabet.
• It makes no sense to list them as {a, a, a, e, i, o, o,
o, o, o, u}
• What we really want is just {a, e, i, o, u}
– Consider the list of students in this class
• Again, it does not make sense to list somebody
twice
• Note that a list is like a set, but order does
matter and duplicate elements are allowed
– We won’t be studying lists much in this class
5
Specifying a set 1
• Sets are usually represented by a capital
letter (A, B, S, etc.)
• Elements are usually represented by an
italic lower-case letter (a, x, y, etc.)
• Easiest way to specify a set is to list all the
elements: A = {1, 2, 3, 4, 5}
– Not always feasible for large or infinite sets
6
Specifying a set 2
• Can use an ellipsis (…): B = {0, 1, 2, 3, …}
– Can cause confusion. Consider the set C = {3, 5, 7,
…}. What comes next?
– If the set is all odd integers greater than 2, it is 9
– If the set is all prime numbers greater than 2, it is 11
• Can use set-builder notation
– D = {x | x is prime and x > 2}
– E = {x | x is odd and x > 2}
– The vertical bar means “such that”
– Thus, set D is read (in English) as: “all elements x
such that x is prime and x is greater than 2”
7
Specifying a set 3
• A set is said to “contain” the various
“members” or “elements” that make up the
set
– If an element a is a member of (or an element
of) a set S, we use then notation a  S
• 4  {1, 2, 3, 4}
– If an element is not a member of (or an
element of) a set S, we use the notation a  S
• 7  {1, 2, 3, 4}
• Virginia  {1, 2, 3, 4}
8
Often used sets
• N = {0, 1, 2, 3, …} is the set of natural numbers
• Z = {…, -2, -1, 0, 1, 2, …} is the set of integers
• Z+ = {1, 2, 3, …} is the set of positive integers
(a.k.a whole numbers)
– Note that people disagree on the exact definitions of
whole numbers and natural numbers
• Q = {p/q | p  Z, q  Z, q ≠ 0} is the set of
rational numbers
– Any number that can be expressed as a fraction of
two integers (where the bottom one is not zero)
• R is the set of real numbers
9
The universal set 1
• U is the universal set – the set of all of
elements (or the “universe”) from which
given any set is drawn
– For the set {-2, 0.4, 2}, U would be the real
numbers
– For the set {0, 1, 2}, U could be the natural
numbers (zero and up), the integers, the
rational numbers, or the real numbers,
depending on the context
10
The universal set 2
– For the set of the students in this class, U
would be all the students in the University (or
perhaps all the people in the world)
– For the set of the vowels of the alphabet, U
would be all the letters of the alphabet
– To differentiate U from U (which is a set
operation), the universal set is written in a
different font (and in bold and italics)
11
Venn diagrams
• Represents sets graphically
– The box represents the universal set
– Circles represent the set(s)
• Consider set S, which is
the set of all vowels in the
alphabet
• The individual elements
are usually not written
in a Venn diagram
a e i
o u
b c d f
g h j
k l m
n p q
r s t
v w x
y z
U
S
12
Sets of sets
• Sets can contain other sets
– S = { {1}, {2}, {3} }
– T = { {1}, {{2}}, {{{3}}} }
– V = { {{1}, {{2}}}, {{{3}}}, { {1}, {{2}}, {{{3}}} } }
• V has only 3 elements!
• Note that 1 ≠ {1} ≠ {{1}} ≠ {{{1}}}
– They are all different
13
The empty set 1
• If a set has zero elements, it is called the
empty (or null) set
– Written using the symbol 
– Thus,  = { }  VERY IMPORTANT
– If you get confused about the empty set in a
problem, try replacing  by { }
• As the empty set is a set, it can be a
element of other sets
– { , 1, 2, 3, x } is a valid set
14
The empty set 1
• Note that  ≠ {  }
– The first is a set of zero elements
– The second is a set of 1 element (that one
element being the empty set)
• Replace  by { }, and you get: { } ≠ { { } }
• It’s easier to see that they are not equal that way
15
Empty set: an example
16
Set equality
• Two sets are equal if they have the same
elements
– {1, 2, 3, 4, 5} = {5, 4, 3, 2, 1}
• Remember that order does not matter!
– {1, 2, 3, 2, 4, 3, 2, 1} = {4, 3, 2, 1}
• Remember that duplicate elements do not matter!
• Two sets are not equal if they do not have
the same elements
– {1, 2, 3, 4, 5} ≠ {1, 2, 3, 4}
17
Subsets 1
• If all the elements of a set S are also elements of
a set T, then S is a subset of T
– For example, if S = {2, 4, 6} and T = {1, 2, 3, 4, 5, 6,
7}, then S is a subset of T
– This is specified by S  T
• Or by {2, 4, 6}  {1, 2, 3, 4, 5, 6, 7}
• If S is not a subset of T, it is written as such:
S  T
– For example, {1, 2, 8}  {1, 2, 3, 4, 5, 6, 7}
18
Subsets 2
• Note that any set is a subset of itself!
– Given set S = {2, 4, 6}, since all the elements
of S are elements of S, S is a subset of itself
– This is kind of like saying 5 is less than or
equal to 5
– Thus, for any set S, S  S
19
Subsets 3
• The empty set is a subset of all sets (including
itself!)
– Recall that all sets are subsets of themselves
• All sets are subsets of the universal set
• A horrible way to define a subset:
– x ( xA  xB )
– English translation: for all possible values of x,
(meaning for all possible elements of a set), if x is an
element of A, then x is an element of B
– This type of notation will be gone over later
20
• If S is a subset of T, and S is not equal to
T, then S is a proper subset of T
– Let T = {0, 1, 2, 3, 4, 5}
– If S = {1, 2, 3}, S is not equal to T, and S is a
subset of T
– A proper subset is written as S  T
– Let R = {0, 1, 2, 3, 4, 5}. R is equal to T, and
thus is a subset (but not a proper subset) or T
• Can be written as: R  T and R  T (or just R = T)
– Let Q = {4, 5, 6}. Q is neither a subset or T
nor a proper subset of T
Proper Subsets 1
21
Proper Subsets 2
• The difference between “subset” and
“proper subset” is like the difference
between “less than or equal to” and “less
than” for numbers
• The empty set is a proper subset of all
sets other than the empty set (as it is
equal to the empty set)
22
Proper subsets: Venn diagram
U
S
R
S  R
23
Set cardinality
• The cardinality of a set is the number of
elements in a set
– Written as |A|
• Examples
– Let R = {1, 2, 3, 4, 5}. Then |R| = 5
– || = 0
– Let S = {, {a}, {b}, {a, b}}. Then |S| = 4
• This is the same notation used for vector length
in geometry
• A set with one element is sometimes called a
singleton set
24
Power sets 1
• Given the set S = {0, 1}. What are all the
possible subsets of S?
– They are:  (as it is a subset of all sets), {0},
{1}, and {0, 1}
– The power set of S (written as P(S)) is the set
of all the subsets of S
– P(S) = { , {0}, {1}, {0,1} }
• Note that |S| = 2 and |P(S)| = 4
25
Power sets 2
• Let T = {0, 1, 2}. The P(T) = { , {0}, {1},
{2}, {0,1}, {0,2}, {1,2}, {0,1,2} }
• Note that |T| = 3 and |P(T)| = 8
• P() = {  }
• Note that || = 0 and |P()| = 1
• If a set has n elements, then the power set
will have 2n elements
26
Tuples
• In 2-dimensional space, it is a (x, y) pair of
numbers to specify a location
• In 3-dimensional (1,2,3) is not the same as
(3,2,1) – space, it is a (x, y, z) triple of numbers
• In n-dimensional space, it is a
n-tuple of numbers
– Two-dimensional space uses
pairs, or 2-tuples
– Three-dimensional space uses
triples, or 3-tuples
• Note that these tuples are
ordered, unlike sets
– the x value has to come first
+x
+y
(2,3)
27
Cartesian products 1
• A Cartesian product is a set of all ordered 2-
tuples where each “part” is from a given set
– Denoted by A x B, and uses parenthesis (not curly
brackets)
– For example, 2-D Cartesian coordinates are the set of
all ordered pairs Z x Z
• Recall Z is the set of all integers
• This is all the possible coordinates in 2-D space
– Example: Given A = { a, b } and B = { 0, 1 }, what is
their Cartiesian product?
• C = A x B = { (a,0), (a,1), (b,0), (b,1) }
28
Cartesian products 2
• Note that Cartesian products have only 2
parts in these examples (later examples
have more parts)
• Formal definition of a Cartesian product:
– A x B = { (a,b) | a  A and b  B }
29
Cartesian products 3
• All the possible grades in this class will be a
Cartesian product of the set S of all the students
in this class and the set G of all possible grades
– Let S = { Alice, Bob, Chris } and G = { A, B, C }
– D = { (Alice, A), (Alice, B), (Alice, C), (Bob, A), (Bob,
B), (Bob, C), (Chris, A), (Chris, B), (Chris, C) }
– The final grades will be a subset of this: { (Alice, C),
(Bob, B), (Chris, A) }
• Such a subset of a Cartesian product is called a relation
(more on this later in the course)
30
Cartesian products 4
• There can be Cartesian products on more
than two sets
• A 3-D coordinate is an element from the
Cartesian product of Z x Z x Z
31
Set Operations
CS 202, Spring 2007
Epp, chapter 3
Aaron Bloomfield
32
• Triangle shows mixable
color range (gamut) – the
set of colors
Sets of Colors
Monitor gamut
(M)
Printer
gamut
(P)
• Pick any 3 “primary” colors
33
• A union of the sets contains
all the elements in EITHER
set
• Union symbol is
usually a U
• Example:
C = M U P
Monitor gamut
(M)
Printer
gamut
(P)
Set operations: Union 1
34
Set operations: Union 2
U
A B
A U B
35
Set operations: Union 3
• Formal definition for the union of two sets:
A U B = { x | x  A or x  B }
• Further examples
– {1, 2, 3} U {3, 4, 5} = {1, 2, 3, 4, 5}
– {New York, Washington} U {3, 4} = {New York,
Washington, 3, 4}
– {1, 2} U  = {1, 2}
36
Set operations: Union 4
• Properties of the union operation
– A U  = A Identity law
– A U U = U Domination law
– A U A = A Idempotent law
– A U B = B U A Commutative law
– A U (B U C) = (A U B) U C Associative law
37
• An intersection of the sets
contains all the elements in
BOTH sets
• Intersection symbol
is a ∩
• Example:
C = M ∩ P
Monitor gamut
(M)
Printer
gamut
(P)
Set operations: Intersection 1
38
Set operations: Intersection 2
U
B
A
A ∩ B
39
Set operations: Intersection 3
• Formal definition for the intersection of two
sets: A ∩ B = { x | x  A and x  B }
• Further examples
– {1, 2, 3} ∩ {3, 4, 5} = {3}
– {New York, Washington} ∩ {3, 4} = 
• No elements in common
– {1, 2} ∩  = 
• Any set intersection with the empty set yields the
empty set
40
Set operations: Intersection 4
• Properties of the intersection operation
– A ∩ U = A Identity law
– A ∩  =  Domination law
– A ∩ A = A Idempotent law
– A ∩ B = B ∩ A Commutative law
– A ∩ (B ∩ C) = (A ∩ B) ∩ C Associative law
41
Disjoint sets 1
• Two sets are disjoint if the
have NO elements in
common
• Formally, two sets are
disjoint if their intersection
is the empty set
• Another example:
the set of the even
numbers and the
set of the odd
numbers
42
Disjoint sets 2
U
A B
43
Disjoint sets 3
• Formal definition for disjoint sets: two sets
are disjoint if their intersection is the empty
set
• Further examples
– {1, 2, 3} and {3, 4, 5} are not disjoint
– {New York, Washington} and {3, 4} are disjoint
– {1, 2} and  are disjoint
• Their intersection is the empty set
–  and  are disjoint!
• Their intersection is the empty set
44
Set operations: Difference 1
• A difference of two sets is
the elements in one set
that are NOT in the other
• Difference symbol is
a minus sign
• Example:
C = M - P
Monitor gamut
(M)
Printer
gamut
(P)
• Also visa-versa:
C = P - M
45
Set operations: Difference 2
U
A B
B - A
A - B
46
• Formal definition for the difference of two
sets:
A - B = { x | x  A and x  B }
A - B = A ∩ B  Important!
• Further examples
– {1, 2, 3} - {3, 4, 5} = {1, 2}
– {New York, Washington} - {3, 4} = {New York,
Washington}
– {1, 2} -  = {1, 2}
• The difference of any set S with the empty set will
be the set S
Set operations: Difference 3
_
47
• A symmetric difference of
the sets contains all the
elements in either set but
NOT both
• Symetric diff.
symbol is a 
• Example:
C = M  P
Monitor gamut
(M)
Printer
gamut
(P)
Set operations: Symmetric
Difference 1
48
• Formal definition for the symmetric difference of
two sets:
A  B = { x | (x  A or x  B) and x  A ∩ B}
A  B = (A U B) – (A ∩ B)  Important!
• Further examples
– {1, 2, 3}  {3, 4, 5} = {1, 2, 4, 5}
– {New York, Washington}  {3, 4} = {New York,
Washington, 3, 4}
– {1, 2}   = {1, 2}
• The symmetric difference of any set S with the empty set will
be the set S
Set operations: Symmetric
Difference 2
49
• A complement of a set is all
the elements that are NOT
in the set
• Difference symbol is
a bar above the set
name: P or M
_
_
Monitor gamut
(M)
Printer
gamut
(P)
Complement sets 1
50
Complement sets 2
U
A
A
B
B
_
51
Complement sets 3
• Formal definition for the complement of a
set: A = { x | x  A }
– Or U – A, where U is the universal set
• Further examples (assuming U = Z)
– {1, 2, 3} = { …, -2, -1, 0, 4, 5, 6, … }
52
• Properties of complement sets
– A = A Complementation law
– A U A = U Complement law
– A ∩ A =  Complement law
Complement sets 4
¯
¯
¯
¯
53
A last bit of color…
54
Photo printers
• Photo printers use many ink colors for rich, vivid
color
– Also a scam to sell you more ink (the razor business
model)
56
Set identities
• Set identities are basic laws on how set
operations work
– Many have already been introduced on
previous slides
• Just like logical equivalences!
– Replace U with 
– Replace ∩ with 
– Replace  with F
– Replace U with T
57
Set identities: DeMorgan again
B
A
B
A
B
A
B
A






• These should look
very familiar…
58
How to prove a set identity
• For example: A∩B=B-(B-A)
• Four methods:
– Use the basic set identities
– Use membership tables
– Prove each set is a subset of each other
• This is like proving that two numbers are equal by
showing that each is less than or equal to the other
– Use set builder notation and logical
equivalences
59
What we are going to prove…
A∩B=B-(B-A)
A B
A∩B B-A
B-(B-A)
60
Definition of difference
Definition of difference
DeMorgan’s law
Complementation law
Distributive law
Complement law
Identity law
Commutative law
Proof by using basic set identities
• Prove that A∩B=B-(B-A)
)
A
B-(B
B
A 
 
)
A
(B
B 


)
A
B
(
B 


A)
B
(
B 


A)
(B
)
B
(B 



A)
(B 



A)
(B 

B
A

61
• The top row is all elements that belong to both sets A
and B
– Thus, these elements are in the union and intersection, but not
the difference
• The second row is all elements that belong to set A but
not set B
– Thus, these elements are in the union and difference, but not the
intersection
What is a membership table
• Membership tables show all the combinations of
sets an element can belong to
– 1 means the element belongs, 0 means it does not
• Consider the following membership table:
A B A U B A ∩ B A - B
1 1 1 1 0
1 0 1 0 1
0 1 1 0 0
0 0 0 0 0
• The third row is all elements that belong to set B but not
set A
– Thus, these elements are in the union, but not the intersection or
difference
• The bottom row is all elements that belong to neither set
A or set B
– Thus, these elements are neither the union, the intersection, nor
difference
62
Proof by membership tables
• The following membership table shows that
A∩B=B-(B-A)
• Because the two indicated columns have the
same values, the two expressions are identical
• This is similar to Boolean logic!
A B A ∩ B B-A B-(B-A)
1 1 1 0 1
1 0 0 0 0
0 1 0 1 0
0 0 0 0 0
63
Proof by showing each set
is a subset of the other 1
• Assume that an element is a member of one of the
identities
– Then show it is a member of the other
• Repeat for the other identity
• We are trying to show:
– (xA∩B→ xB-(B-A))  (xB-(B-A)→ xA∩B)
– This is the biconditional:
– xA∩B ↔ xB-(B-A)
• Not good for long proofs
• Basically, it’s an English run-through of the proof
64
Proof by showing each set
is a subset of the other 2
• Assume that xB-(B-A)
– By definition of difference, we know that xB and xB-A
• Consider xB-A
– If xB-A, then (by definition of difference) xB and xA
– Since xB-A, then only one of the inverses has to be true
(DeMorgan’s law): xB or xA
• So we have that xB and (xB or xA)
– It cannot be the case where xB and xB
– Thus, xB and xA
– This is the definition of intersection
• Thus, if xB-(B-A) then xA∩B
65
Proof by showing each set
is a subset of the other 3
• Assume that xA∩B
– By definition of intersection, xA and xB
• Thus, we know that xB-A
– B-A includes all the elements in B that are also not in A not
include any of the elements of A (by definition of difference)
• Consider B-(B-A)
– We know that xB-A
– We also know that if xA∩B then xB (by definition of
intersection)
– Thus, if xB and xB-A, we can restate that (using the definition
of difference) as xB-(B-A)
• Thus, if xA∩B then xB-(B-A)
66
Proof by set builder notation
and logical equivalences 1
• First, translate both sides of the set
identity into set builder notation
• Then massage one side (or both) to make
it identical to the other
– Do this using logical equivalences
67
Proof by set builder notation
and logical equivalences 2
Original statement
Definition of difference
Negating “element of”
Definition of difference
DeMorgan’s Law
Distributive Law
Negating “element of”
Negation Law
Identity Law
Definition of intersection
)}
(
|
{ A
x
B
x
B
x
x 






)
( A
B
B 

)}
(
|
{ A
B
x
B
x
x 




))}
(
(
|
{ A
B
x
B
x
x 





}
|
{ A
x
B
x
x 



)}
(
|
{ A
x
B
x
B
x
x 





   }
|
{ A
x
B
x
B
x
B
x
x 







   }
)
(
|
{ A
x
B
x
B
x
B
x
x 








 }
|
{ A
x
B
x
F
x 




B
A

68
Proof by set builder notation
and logical equivalences 3
• Why can’t you prove it the “other” way?
– I.e. massage A∩B to make it look like B-(B-A)
• You can, but it’s a bit annoying
– In this case, it’s not simplifying the statement
69
Computer representation of sets 1
• Assume that U is finite (and reasonable!)
– Let U be the alphabet
• Each bit represents whether the element in U is in the set
• The vowels in the alphabet:
abcdefghijklmnopqrstuvwxyz
10001000100000100000100000
• The consonants in the alphabet:
abcdefghijklmnopqrstuvwxyz
01110111011111011111011111
70
Computer representation of sets 2
• Consider the union of these two sets:
10001000100000100000100000
01110111011111011111011111
11111111111111111111111111
• Consider the intersection of these two sets:
10001000100000100000100000
01110111011111011111011111
00000000000000000000000000
71
Subset problems
• Let A, B, and C be sets. Show that:
a) (AUB)  (AUBUC)
b) (A∩B∩C)  (A∩B)
c) (A-B)-C  A-C
d) (A-C) ∩ (C-B) = 
72
Russell’s paradox
• Consider the set:
– S = { A | A is a set and A  A }
• Is S an element of itself?
• Consider:
– Let S  S
• Then S can not be in itself, by the definition
– Let S  S
• Then S is in itself by the definition
– Contradiction!
73
Russell’s paradox
• Consider the set:
– S = { A | A is a set and A  A }
• This shows a problem with set theory!
– Meaning we can define a set that is not viable
• The solution:
– Restrict set theory to not include sets which
are subsets of themselves
74
The Halting problem
• Given a program P, and input I, will the
program P ever terminate?
– Meaning will P(I) loop forever or halt?
• Can a computer program determine this?
– Can a human?
• First shown by Alan Turing in 1936
– Before digital computers existed!
75
A few notes
• To “solve” the halting problem means we
create a function CheckHalt(P,I)
– P is the program we are checking for halting
– I is the input to that program
• And it will return “loops forever” or “halts”
• Note it must work for any program, not just
some programs
– Or simple programs
76
Can a human determine if a
program halts?
• Given a program of 10 lines or less, can a
human determine if it halts?
– Assuming no tricks – the program is
completely understandable
– And assuming the computer works properly,
of course
• And we ignore the fact that an int will max
out at 4 billion
77
Halting problem tests
function haltingTest1()
print “Alan Turing”
print “was a genius”
return
function haltingTest2()
for factor from 1 to 10
print factor
return
function haltingTest3()
while ( true )
print “hello world”
return
function haltingTest4()
int x = 10
while ( x > 0 )
print “hello world”
x := x + 1
return
78
Perfect numbers
• Numbers whose divisors (not including the number) add
up to the number
– 6 = 1 + 2 + 3
– 28 = 1 + 2 + 4 + 7 + 14
• The list of the first 10 perfect numbers:
6, 28, 496, 8128, 33550336, 8589869056,
137438691328, 2305843008139952128,
2658455991569831744654692615953842176,
191561942608236107294793378084303638130997321
548169216
– The last one was 54 digits!
• All known perfect numbers are even; it’s an open (i.e.
unsolved) problem if odd perfect numbers exist
• Sequence A000396 in OEIS
79
Odd perfect number search
function searchForOddPerfectNumber()
int n = 1 // arbitrary-precision integer
while (true) {
var int sumOfFactors = 0
for factor from 1 to n - 1
if factor is a factor of n
sumOfFactors = sumOfFactors + factor
if sumOfFactors = n then
break
n = n + 2
}
return
• Will this program ever halt?
80
Where does that leave us?
• If a human can’t figure out how to do the
halting problem, we can’t make a
computer do it for us
• It turns out that it is impossible to write
such a CheckHalt() function
– But how to prove this?
81
CheckHalt()’s non-existence
• Consider P(I): a program P with input I
• Suppose that CheckHalt(P,I) exists
– Tests if P(I) will either “loop forever” or “halt”
• A program is a series of bits
– And thus can be considered data as well
• Thus, we can call CheckHalt(P,P)
– It’s using the bytes of program P as the input
to program P
82
CheckHalt()’s non-existence
• Consider a new function:
Test(P):
loops forever if CheckHalt(P,P) prints “halts”
halts if CheckHalt(P,P) prints “loops forever”
• Do we agree that Test() is a valid function?
• Now run Test(Test)
– If Test(Test) halts…
• Then CheckHalt(Test,Test) returns “loops forever”…
• Which means that Test(Test) loops forever
• Contradiction!
– If Test(Test) loops forever…
• Then CheckHalt(Test,Test) returns “halts”…
• Which means that Test(Test) halts
• Contradiction!
83
Why do we care about the halting
problem?
• It was the first algorithm that was shown to
not be able to exist
– You can prove an existential by showing an
example (a correct program)
– But it’s much harder to prove that a program
can never exist

More Related Content

PPT
Grade 7 Sets.ppt
PPT
sets.ppt
PPT
Set theory and its operations
PDF
Set Theory.pdf
PPT
7-Sets-1.ppt
PPT
Theory of the sets and Venn diagram-grade 9 math
PPTX
Explore the foundational concepts of sets in discrete mathematics
PPT
fundamentals of basic mathemathics for computer science.ppt
Grade 7 Sets.ppt
sets.ppt
Set theory and its operations
Set Theory.pdf
7-Sets-1.ppt
Theory of the sets and Venn diagram-grade 9 math
Explore the foundational concepts of sets in discrete mathematics
fundamentals of basic mathemathics for computer science.ppt

Similar to 07-sets.ppt (20)

PPTX
Discrete Math Chapter 2: Basic Structures: Sets, Functions, Sequences, Sums, ...
PPTX
Set theory- Introduction, symbols with its meaning
PDF
Set theory
PPTX
PPTX
Discrete Structure Mathematics lecture 1
PDF
2.pdf2321312312312312321312321423423424321312
PPT
union of ...................SETS-ppt.ppt
PDF
Sets and Functions By Saleh ElShehabey
PDF
set.pdf
PPTX
Set theory
PPTX
Language of Sets (mathematics in the modern world) Lesson 2.pptx
PPTX
Moazzzim Sir (25.07.23)CSE 1201, Week#3, Lecture#7.pptx
PPT
Set theory-ppt
PPTX
Set Theory
PPT
sets_powerpoint presentation. .
PPT
4898850.ppt
PPTX
Set and function.pptx
PPTX
Set theory. lesson. probability and statistics
PDF
Anubhav.pdf
PPTX
2nd unit by Kiranmaie p.pptxuwuudhjhgjhfg
Discrete Math Chapter 2: Basic Structures: Sets, Functions, Sequences, Sums, ...
Set theory- Introduction, symbols with its meaning
Set theory
Discrete Structure Mathematics lecture 1
2.pdf2321312312312312321312321423423424321312
union of ...................SETS-ppt.ppt
Sets and Functions By Saleh ElShehabey
set.pdf
Set theory
Language of Sets (mathematics in the modern world) Lesson 2.pptx
Moazzzim Sir (25.07.23)CSE 1201, Week#3, Lecture#7.pptx
Set theory-ppt
Set Theory
sets_powerpoint presentation. .
4898850.ppt
Set and function.pptx
Set theory. lesson. probability and statistics
Anubhav.pdf
2nd unit by Kiranmaie p.pptxuwuudhjhgjhfg
Ad

More from AngelFaithBactol (20)

PPTX
triangle congruence, mathematics 8 lesson.pptx
PPTX
numeracy activity program mathematics 8.pptx
PPTX
solving problem involve linear inequality.pptx
PPTX
graph inequality_mathematics 8 lesson.pptx
PPTX
Quarter4_Week1_Day3_values education.pptx
PPTX
Quarter4_Week1_Day2_values education.pptx
PPTX
Quarter4_Week1_Day1_values education.pptx
PPT
408602668-7-SP-5-Probability-PowerPoint-notes-ppt.ppt
PPTX
prove triangle congruence in math 8 -.pptx
PPTX
perpendicular lines-lesson in mathematics8.pptx
PPTX
Quarter4_Week1_values_education_Day1.pptx
PPTX
National Learning Camp_Math 8-I_Lesson 13 FINAL.pptx
PPTX
National Learning Camp_Math 8-I_Lesson 1.pptx
PPTX
values education 7 - week 2 powerpoint.pptx
PPTX
week 3 ppt values education seven1212.pptx
PPTX
values education week 1 draft of lesson.pptx
PPTX
math-8-m1-220815141109-c00f0ERTTYd9.pptx
PPTX
BASIC MATH PROBLEMS IN STATISCTICSS.pptx
PPTX
SLIDE DECK for classroom assessment.pptx
PPT
Associative and Commutative Property.ppt
triangle congruence, mathematics 8 lesson.pptx
numeracy activity program mathematics 8.pptx
solving problem involve linear inequality.pptx
graph inequality_mathematics 8 lesson.pptx
Quarter4_Week1_Day3_values education.pptx
Quarter4_Week1_Day2_values education.pptx
Quarter4_Week1_Day1_values education.pptx
408602668-7-SP-5-Probability-PowerPoint-notes-ppt.ppt
prove triangle congruence in math 8 -.pptx
perpendicular lines-lesson in mathematics8.pptx
Quarter4_Week1_values_education_Day1.pptx
National Learning Camp_Math 8-I_Lesson 13 FINAL.pptx
National Learning Camp_Math 8-I_Lesson 1.pptx
values education 7 - week 2 powerpoint.pptx
week 3 ppt values education seven1212.pptx
values education week 1 draft of lesson.pptx
math-8-m1-220815141109-c00f0ERTTYd9.pptx
BASIC MATH PROBLEMS IN STATISCTICSS.pptx
SLIDE DECK for classroom assessment.pptx
Associative and Commutative Property.ppt
Ad

Recently uploaded (20)

PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
GDM (1) (1).pptx small presentation for students
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
01-Introduction-to-Information-Management.pdf
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Classroom Observation Tools for Teachers
202450812 BayCHI UCSC-SV 20250812 v17.pptx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Supply Chain Operations Speaking Notes -ICLT Program
VCE English Exam - Section C Student Revision Booklet
2.FourierTransform-ShortQuestionswithAnswers.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
GDM (1) (1).pptx small presentation for students
O7-L3 Supply Chain Operations - ICLT Program
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Final Presentation General Medicine 03-08-2024.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
01-Introduction-to-Information-Management.pdf
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
STATICS OF THE RIGID BODIES Hibbelers.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
human mycosis Human fungal infections are called human mycosis..pptx
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Classroom Observation Tools for Teachers

07-sets.ppt

  • 1. 1 Sets CS 202, Spring 2007 Epp, chapter 5 Aaron Bloomfield
  • 2. 2 What is a set? • A set is a group of “objects” – People in a class: { Alice, Bob, Chris } – Colors of a rainbow: { red, orange, yellow, green, blue, purple } – States of matter { solid, liquid, gas, plasma } – States in the US: { Alabama, Alaska, Virginia, … } – Sets can contain non-related elements: { 3, a, red, Virginia } • Although a set can contain (almost) anything, we will most often use sets of numbers – All positive numbers less than or equal to 5: {1, 2, 3, 4, 5} – A few selected real numbers: { 2.1, π, 0, -6.32, e }
  • 3. 3 Set properties 1 • Order does not matter – We often write them in order because it is easier for humans to understand it that way – {1, 2, 3, 4, 5} is equivalent to {3, 5, 2, 4, 1} • Sets are notated with curly brackets
  • 4. 4 Set properties 2 • Sets do not have duplicate elements – Consider the set of vowels in the alphabet. • It makes no sense to list them as {a, a, a, e, i, o, o, o, o, o, u} • What we really want is just {a, e, i, o, u} – Consider the list of students in this class • Again, it does not make sense to list somebody twice • Note that a list is like a set, but order does matter and duplicate elements are allowed – We won’t be studying lists much in this class
  • 5. 5 Specifying a set 1 • Sets are usually represented by a capital letter (A, B, S, etc.) • Elements are usually represented by an italic lower-case letter (a, x, y, etc.) • Easiest way to specify a set is to list all the elements: A = {1, 2, 3, 4, 5} – Not always feasible for large or infinite sets
  • 6. 6 Specifying a set 2 • Can use an ellipsis (…): B = {0, 1, 2, 3, …} – Can cause confusion. Consider the set C = {3, 5, 7, …}. What comes next? – If the set is all odd integers greater than 2, it is 9 – If the set is all prime numbers greater than 2, it is 11 • Can use set-builder notation – D = {x | x is prime and x > 2} – E = {x | x is odd and x > 2} – The vertical bar means “such that” – Thus, set D is read (in English) as: “all elements x such that x is prime and x is greater than 2”
  • 7. 7 Specifying a set 3 • A set is said to “contain” the various “members” or “elements” that make up the set – If an element a is a member of (or an element of) a set S, we use then notation a  S • 4  {1, 2, 3, 4} – If an element is not a member of (or an element of) a set S, we use the notation a  S • 7  {1, 2, 3, 4} • Virginia  {1, 2, 3, 4}
  • 8. 8 Often used sets • N = {0, 1, 2, 3, …} is the set of natural numbers • Z = {…, -2, -1, 0, 1, 2, …} is the set of integers • Z+ = {1, 2, 3, …} is the set of positive integers (a.k.a whole numbers) – Note that people disagree on the exact definitions of whole numbers and natural numbers • Q = {p/q | p  Z, q  Z, q ≠ 0} is the set of rational numbers – Any number that can be expressed as a fraction of two integers (where the bottom one is not zero) • R is the set of real numbers
  • 9. 9 The universal set 1 • U is the universal set – the set of all of elements (or the “universe”) from which given any set is drawn – For the set {-2, 0.4, 2}, U would be the real numbers – For the set {0, 1, 2}, U could be the natural numbers (zero and up), the integers, the rational numbers, or the real numbers, depending on the context
  • 10. 10 The universal set 2 – For the set of the students in this class, U would be all the students in the University (or perhaps all the people in the world) – For the set of the vowels of the alphabet, U would be all the letters of the alphabet – To differentiate U from U (which is a set operation), the universal set is written in a different font (and in bold and italics)
  • 11. 11 Venn diagrams • Represents sets graphically – The box represents the universal set – Circles represent the set(s) • Consider set S, which is the set of all vowels in the alphabet • The individual elements are usually not written in a Venn diagram a e i o u b c d f g h j k l m n p q r s t v w x y z U S
  • 12. 12 Sets of sets • Sets can contain other sets – S = { {1}, {2}, {3} } – T = { {1}, {{2}}, {{{3}}} } – V = { {{1}, {{2}}}, {{{3}}}, { {1}, {{2}}, {{{3}}} } } • V has only 3 elements! • Note that 1 ≠ {1} ≠ {{1}} ≠ {{{1}}} – They are all different
  • 13. 13 The empty set 1 • If a set has zero elements, it is called the empty (or null) set – Written using the symbol  – Thus,  = { }  VERY IMPORTANT – If you get confused about the empty set in a problem, try replacing  by { } • As the empty set is a set, it can be a element of other sets – { , 1, 2, 3, x } is a valid set
  • 14. 14 The empty set 1 • Note that  ≠ {  } – The first is a set of zero elements – The second is a set of 1 element (that one element being the empty set) • Replace  by { }, and you get: { } ≠ { { } } • It’s easier to see that they are not equal that way
  • 15. 15 Empty set: an example
  • 16. 16 Set equality • Two sets are equal if they have the same elements – {1, 2, 3, 4, 5} = {5, 4, 3, 2, 1} • Remember that order does not matter! – {1, 2, 3, 2, 4, 3, 2, 1} = {4, 3, 2, 1} • Remember that duplicate elements do not matter! • Two sets are not equal if they do not have the same elements – {1, 2, 3, 4, 5} ≠ {1, 2, 3, 4}
  • 17. 17 Subsets 1 • If all the elements of a set S are also elements of a set T, then S is a subset of T – For example, if S = {2, 4, 6} and T = {1, 2, 3, 4, 5, 6, 7}, then S is a subset of T – This is specified by S  T • Or by {2, 4, 6}  {1, 2, 3, 4, 5, 6, 7} • If S is not a subset of T, it is written as such: S  T – For example, {1, 2, 8}  {1, 2, 3, 4, 5, 6, 7}
  • 18. 18 Subsets 2 • Note that any set is a subset of itself! – Given set S = {2, 4, 6}, since all the elements of S are elements of S, S is a subset of itself – This is kind of like saying 5 is less than or equal to 5 – Thus, for any set S, S  S
  • 19. 19 Subsets 3 • The empty set is a subset of all sets (including itself!) – Recall that all sets are subsets of themselves • All sets are subsets of the universal set • A horrible way to define a subset: – x ( xA  xB ) – English translation: for all possible values of x, (meaning for all possible elements of a set), if x is an element of A, then x is an element of B – This type of notation will be gone over later
  • 20. 20 • If S is a subset of T, and S is not equal to T, then S is a proper subset of T – Let T = {0, 1, 2, 3, 4, 5} – If S = {1, 2, 3}, S is not equal to T, and S is a subset of T – A proper subset is written as S  T – Let R = {0, 1, 2, 3, 4, 5}. R is equal to T, and thus is a subset (but not a proper subset) or T • Can be written as: R  T and R  T (or just R = T) – Let Q = {4, 5, 6}. Q is neither a subset or T nor a proper subset of T Proper Subsets 1
  • 21. 21 Proper Subsets 2 • The difference between “subset” and “proper subset” is like the difference between “less than or equal to” and “less than” for numbers • The empty set is a proper subset of all sets other than the empty set (as it is equal to the empty set)
  • 22. 22 Proper subsets: Venn diagram U S R S  R
  • 23. 23 Set cardinality • The cardinality of a set is the number of elements in a set – Written as |A| • Examples – Let R = {1, 2, 3, 4, 5}. Then |R| = 5 – || = 0 – Let S = {, {a}, {b}, {a, b}}. Then |S| = 4 • This is the same notation used for vector length in geometry • A set with one element is sometimes called a singleton set
  • 24. 24 Power sets 1 • Given the set S = {0, 1}. What are all the possible subsets of S? – They are:  (as it is a subset of all sets), {0}, {1}, and {0, 1} – The power set of S (written as P(S)) is the set of all the subsets of S – P(S) = { , {0}, {1}, {0,1} } • Note that |S| = 2 and |P(S)| = 4
  • 25. 25 Power sets 2 • Let T = {0, 1, 2}. The P(T) = { , {0}, {1}, {2}, {0,1}, {0,2}, {1,2}, {0,1,2} } • Note that |T| = 3 and |P(T)| = 8 • P() = {  } • Note that || = 0 and |P()| = 1 • If a set has n elements, then the power set will have 2n elements
  • 26. 26 Tuples • In 2-dimensional space, it is a (x, y) pair of numbers to specify a location • In 3-dimensional (1,2,3) is not the same as (3,2,1) – space, it is a (x, y, z) triple of numbers • In n-dimensional space, it is a n-tuple of numbers – Two-dimensional space uses pairs, or 2-tuples – Three-dimensional space uses triples, or 3-tuples • Note that these tuples are ordered, unlike sets – the x value has to come first +x +y (2,3)
  • 27. 27 Cartesian products 1 • A Cartesian product is a set of all ordered 2- tuples where each “part” is from a given set – Denoted by A x B, and uses parenthesis (not curly brackets) – For example, 2-D Cartesian coordinates are the set of all ordered pairs Z x Z • Recall Z is the set of all integers • This is all the possible coordinates in 2-D space – Example: Given A = { a, b } and B = { 0, 1 }, what is their Cartiesian product? • C = A x B = { (a,0), (a,1), (b,0), (b,1) }
  • 28. 28 Cartesian products 2 • Note that Cartesian products have only 2 parts in these examples (later examples have more parts) • Formal definition of a Cartesian product: – A x B = { (a,b) | a  A and b  B }
  • 29. 29 Cartesian products 3 • All the possible grades in this class will be a Cartesian product of the set S of all the students in this class and the set G of all possible grades – Let S = { Alice, Bob, Chris } and G = { A, B, C } – D = { (Alice, A), (Alice, B), (Alice, C), (Bob, A), (Bob, B), (Bob, C), (Chris, A), (Chris, B), (Chris, C) } – The final grades will be a subset of this: { (Alice, C), (Bob, B), (Chris, A) } • Such a subset of a Cartesian product is called a relation (more on this later in the course)
  • 30. 30 Cartesian products 4 • There can be Cartesian products on more than two sets • A 3-D coordinate is an element from the Cartesian product of Z x Z x Z
  • 31. 31 Set Operations CS 202, Spring 2007 Epp, chapter 3 Aaron Bloomfield
  • 32. 32 • Triangle shows mixable color range (gamut) – the set of colors Sets of Colors Monitor gamut (M) Printer gamut (P) • Pick any 3 “primary” colors
  • 33. 33 • A union of the sets contains all the elements in EITHER set • Union symbol is usually a U • Example: C = M U P Monitor gamut (M) Printer gamut (P) Set operations: Union 1
  • 34. 34 Set operations: Union 2 U A B A U B
  • 35. 35 Set operations: Union 3 • Formal definition for the union of two sets: A U B = { x | x  A or x  B } • Further examples – {1, 2, 3} U {3, 4, 5} = {1, 2, 3, 4, 5} – {New York, Washington} U {3, 4} = {New York, Washington, 3, 4} – {1, 2} U  = {1, 2}
  • 36. 36 Set operations: Union 4 • Properties of the union operation – A U  = A Identity law – A U U = U Domination law – A U A = A Idempotent law – A U B = B U A Commutative law – A U (B U C) = (A U B) U C Associative law
  • 37. 37 • An intersection of the sets contains all the elements in BOTH sets • Intersection symbol is a ∩ • Example: C = M ∩ P Monitor gamut (M) Printer gamut (P) Set operations: Intersection 1
  • 39. 39 Set operations: Intersection 3 • Formal definition for the intersection of two sets: A ∩ B = { x | x  A and x  B } • Further examples – {1, 2, 3} ∩ {3, 4, 5} = {3} – {New York, Washington} ∩ {3, 4} =  • No elements in common – {1, 2} ∩  =  • Any set intersection with the empty set yields the empty set
  • 40. 40 Set operations: Intersection 4 • Properties of the intersection operation – A ∩ U = A Identity law – A ∩  =  Domination law – A ∩ A = A Idempotent law – A ∩ B = B ∩ A Commutative law – A ∩ (B ∩ C) = (A ∩ B) ∩ C Associative law
  • 41. 41 Disjoint sets 1 • Two sets are disjoint if the have NO elements in common • Formally, two sets are disjoint if their intersection is the empty set • Another example: the set of the even numbers and the set of the odd numbers
  • 43. 43 Disjoint sets 3 • Formal definition for disjoint sets: two sets are disjoint if their intersection is the empty set • Further examples – {1, 2, 3} and {3, 4, 5} are not disjoint – {New York, Washington} and {3, 4} are disjoint – {1, 2} and  are disjoint • Their intersection is the empty set –  and  are disjoint! • Their intersection is the empty set
  • 44. 44 Set operations: Difference 1 • A difference of two sets is the elements in one set that are NOT in the other • Difference symbol is a minus sign • Example: C = M - P Monitor gamut (M) Printer gamut (P) • Also visa-versa: C = P - M
  • 45. 45 Set operations: Difference 2 U A B B - A A - B
  • 46. 46 • Formal definition for the difference of two sets: A - B = { x | x  A and x  B } A - B = A ∩ B  Important! • Further examples – {1, 2, 3} - {3, 4, 5} = {1, 2} – {New York, Washington} - {3, 4} = {New York, Washington} – {1, 2} -  = {1, 2} • The difference of any set S with the empty set will be the set S Set operations: Difference 3 _
  • 47. 47 • A symmetric difference of the sets contains all the elements in either set but NOT both • Symetric diff. symbol is a  • Example: C = M  P Monitor gamut (M) Printer gamut (P) Set operations: Symmetric Difference 1
  • 48. 48 • Formal definition for the symmetric difference of two sets: A  B = { x | (x  A or x  B) and x  A ∩ B} A  B = (A U B) – (A ∩ B)  Important! • Further examples – {1, 2, 3}  {3, 4, 5} = {1, 2, 4, 5} – {New York, Washington}  {3, 4} = {New York, Washington, 3, 4} – {1, 2}   = {1, 2} • The symmetric difference of any set S with the empty set will be the set S Set operations: Symmetric Difference 2
  • 49. 49 • A complement of a set is all the elements that are NOT in the set • Difference symbol is a bar above the set name: P or M _ _ Monitor gamut (M) Printer gamut (P) Complement sets 1
  • 51. 51 Complement sets 3 • Formal definition for the complement of a set: A = { x | x  A } – Or U – A, where U is the universal set • Further examples (assuming U = Z) – {1, 2, 3} = { …, -2, -1, 0, 4, 5, 6, … }
  • 52. 52 • Properties of complement sets – A = A Complementation law – A U A = U Complement law – A ∩ A =  Complement law Complement sets 4 ¯ ¯ ¯ ¯
  • 53. 53 A last bit of color…
  • 54. 54 Photo printers • Photo printers use many ink colors for rich, vivid color – Also a scam to sell you more ink (the razor business model)
  • 55. 56 Set identities • Set identities are basic laws on how set operations work – Many have already been introduced on previous slides • Just like logical equivalences! – Replace U with  – Replace ∩ with  – Replace  with F – Replace U with T
  • 56. 57 Set identities: DeMorgan again B A B A B A B A       • These should look very familiar…
  • 57. 58 How to prove a set identity • For example: A∩B=B-(B-A) • Four methods: – Use the basic set identities – Use membership tables – Prove each set is a subset of each other • This is like proving that two numbers are equal by showing that each is less than or equal to the other – Use set builder notation and logical equivalences
  • 58. 59 What we are going to prove… A∩B=B-(B-A) A B A∩B B-A B-(B-A)
  • 59. 60 Definition of difference Definition of difference DeMorgan’s law Complementation law Distributive law Complement law Identity law Commutative law Proof by using basic set identities • Prove that A∩B=B-(B-A) ) A B-(B B A    ) A (B B    ) A B ( B    A) B ( B    A) (B ) B (B     A) (B     A) (B   B A 
  • 60. 61 • The top row is all elements that belong to both sets A and B – Thus, these elements are in the union and intersection, but not the difference • The second row is all elements that belong to set A but not set B – Thus, these elements are in the union and difference, but not the intersection What is a membership table • Membership tables show all the combinations of sets an element can belong to – 1 means the element belongs, 0 means it does not • Consider the following membership table: A B A U B A ∩ B A - B 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 • The third row is all elements that belong to set B but not set A – Thus, these elements are in the union, but not the intersection or difference • The bottom row is all elements that belong to neither set A or set B – Thus, these elements are neither the union, the intersection, nor difference
  • 61. 62 Proof by membership tables • The following membership table shows that A∩B=B-(B-A) • Because the two indicated columns have the same values, the two expressions are identical • This is similar to Boolean logic! A B A ∩ B B-A B-(B-A) 1 1 1 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0
  • 62. 63 Proof by showing each set is a subset of the other 1 • Assume that an element is a member of one of the identities – Then show it is a member of the other • Repeat for the other identity • We are trying to show: – (xA∩B→ xB-(B-A))  (xB-(B-A)→ xA∩B) – This is the biconditional: – xA∩B ↔ xB-(B-A) • Not good for long proofs • Basically, it’s an English run-through of the proof
  • 63. 64 Proof by showing each set is a subset of the other 2 • Assume that xB-(B-A) – By definition of difference, we know that xB and xB-A • Consider xB-A – If xB-A, then (by definition of difference) xB and xA – Since xB-A, then only one of the inverses has to be true (DeMorgan’s law): xB or xA • So we have that xB and (xB or xA) – It cannot be the case where xB and xB – Thus, xB and xA – This is the definition of intersection • Thus, if xB-(B-A) then xA∩B
  • 64. 65 Proof by showing each set is a subset of the other 3 • Assume that xA∩B – By definition of intersection, xA and xB • Thus, we know that xB-A – B-A includes all the elements in B that are also not in A not include any of the elements of A (by definition of difference) • Consider B-(B-A) – We know that xB-A – We also know that if xA∩B then xB (by definition of intersection) – Thus, if xB and xB-A, we can restate that (using the definition of difference) as xB-(B-A) • Thus, if xA∩B then xB-(B-A)
  • 65. 66 Proof by set builder notation and logical equivalences 1 • First, translate both sides of the set identity into set builder notation • Then massage one side (or both) to make it identical to the other – Do this using logical equivalences
  • 66. 67 Proof by set builder notation and logical equivalences 2 Original statement Definition of difference Negating “element of” Definition of difference DeMorgan’s Law Distributive Law Negating “element of” Negation Law Identity Law Definition of intersection )} ( | { A x B x B x x        ) ( A B B   )} ( | { A B x B x x      ))} ( ( | { A B x B x x       } | { A x B x x     )} ( | { A x B x B x x          } | { A x B x B x B x x            } ) ( | { A x B x B x B x x           } | { A x B x F x      B A 
  • 67. 68 Proof by set builder notation and logical equivalences 3 • Why can’t you prove it the “other” way? – I.e. massage A∩B to make it look like B-(B-A) • You can, but it’s a bit annoying – In this case, it’s not simplifying the statement
  • 68. 69 Computer representation of sets 1 • Assume that U is finite (and reasonable!) – Let U be the alphabet • Each bit represents whether the element in U is in the set • The vowels in the alphabet: abcdefghijklmnopqrstuvwxyz 10001000100000100000100000 • The consonants in the alphabet: abcdefghijklmnopqrstuvwxyz 01110111011111011111011111
  • 69. 70 Computer representation of sets 2 • Consider the union of these two sets: 10001000100000100000100000 01110111011111011111011111 11111111111111111111111111 • Consider the intersection of these two sets: 10001000100000100000100000 01110111011111011111011111 00000000000000000000000000
  • 70. 71 Subset problems • Let A, B, and C be sets. Show that: a) (AUB)  (AUBUC) b) (A∩B∩C)  (A∩B) c) (A-B)-C  A-C d) (A-C) ∩ (C-B) = 
  • 71. 72 Russell’s paradox • Consider the set: – S = { A | A is a set and A  A } • Is S an element of itself? • Consider: – Let S  S • Then S can not be in itself, by the definition – Let S  S • Then S is in itself by the definition – Contradiction!
  • 72. 73 Russell’s paradox • Consider the set: – S = { A | A is a set and A  A } • This shows a problem with set theory! – Meaning we can define a set that is not viable • The solution: – Restrict set theory to not include sets which are subsets of themselves
  • 73. 74 The Halting problem • Given a program P, and input I, will the program P ever terminate? – Meaning will P(I) loop forever or halt? • Can a computer program determine this? – Can a human? • First shown by Alan Turing in 1936 – Before digital computers existed!
  • 74. 75 A few notes • To “solve” the halting problem means we create a function CheckHalt(P,I) – P is the program we are checking for halting – I is the input to that program • And it will return “loops forever” or “halts” • Note it must work for any program, not just some programs – Or simple programs
  • 75. 76 Can a human determine if a program halts? • Given a program of 10 lines or less, can a human determine if it halts? – Assuming no tricks – the program is completely understandable – And assuming the computer works properly, of course • And we ignore the fact that an int will max out at 4 billion
  • 76. 77 Halting problem tests function haltingTest1() print “Alan Turing” print “was a genius” return function haltingTest2() for factor from 1 to 10 print factor return function haltingTest3() while ( true ) print “hello world” return function haltingTest4() int x = 10 while ( x > 0 ) print “hello world” x := x + 1 return
  • 77. 78 Perfect numbers • Numbers whose divisors (not including the number) add up to the number – 6 = 1 + 2 + 3 – 28 = 1 + 2 + 4 + 7 + 14 • The list of the first 10 perfect numbers: 6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128, 2658455991569831744654692615953842176, 191561942608236107294793378084303638130997321 548169216 – The last one was 54 digits! • All known perfect numbers are even; it’s an open (i.e. unsolved) problem if odd perfect numbers exist • Sequence A000396 in OEIS
  • 78. 79 Odd perfect number search function searchForOddPerfectNumber() int n = 1 // arbitrary-precision integer while (true) { var int sumOfFactors = 0 for factor from 1 to n - 1 if factor is a factor of n sumOfFactors = sumOfFactors + factor if sumOfFactors = n then break n = n + 2 } return • Will this program ever halt?
  • 79. 80 Where does that leave us? • If a human can’t figure out how to do the halting problem, we can’t make a computer do it for us • It turns out that it is impossible to write such a CheckHalt() function – But how to prove this?
  • 80. 81 CheckHalt()’s non-existence • Consider P(I): a program P with input I • Suppose that CheckHalt(P,I) exists – Tests if P(I) will either “loop forever” or “halt” • A program is a series of bits – And thus can be considered data as well • Thus, we can call CheckHalt(P,P) – It’s using the bytes of program P as the input to program P
  • 81. 82 CheckHalt()’s non-existence • Consider a new function: Test(P): loops forever if CheckHalt(P,P) prints “halts” halts if CheckHalt(P,P) prints “loops forever” • Do we agree that Test() is a valid function? • Now run Test(Test) – If Test(Test) halts… • Then CheckHalt(Test,Test) returns “loops forever”… • Which means that Test(Test) loops forever • Contradiction! – If Test(Test) loops forever… • Then CheckHalt(Test,Test) returns “halts”… • Which means that Test(Test) halts • Contradiction!
  • 82. 83 Why do we care about the halting problem? • It was the first algorithm that was shown to not be able to exist – You can prove an existential by showing an example (a correct program) – But it’s much harder to prove that a program can never exist