Todays topics
Introduction to Set Theory (1.6)
Sets
A set is a new type of structure, representing an unordered
collection (group, plurality) of zero or more distinct
(different) objects.
Set theory deals with operations between, relations
among, and statements about sets.
Sets are ubiquitous in computer software systems.
All of mathematics can be defined in terms of some form
of set theory (using predicate logic).
Indirect, by cases, and direct
Rules of logical inference
Correct & fallacious proofs
Reading: Sections 1.6-1.7
Upcoming
Functions
CompSci 102
Michael Frank
4.1
CompSci 102
Michael Frank
Nave set theory
Basic notations for sets
Basic premise: Any collection or class of objects
(elements)
elements) that we can describe (by any means
whatsoever) constitutes a set.
But, the resulting theory turns out to be logically
inconsistent!
inconsistent!
For sets, well use variables S, T, U,
We can denote a set S in writing by listing
all of its elements in curly braces:
{a, b, c} is the set of whatever 3 objects are
denoted by a, b, c.
This means, there exist nave set theory propositions p such that
you can prove that both p and p follow logically from the
axioms of the theory!
The conjunction of the axioms is a contradiction!
This theory is fundamentally uninteresting, because any possible
statement in it can be (very trivially) proved
proved by contradiction!
Set builder notation: For any proposition
P(x) over any universe of discourse,
{x|P(x)} is the set of all x such that P(x).
More sophisticated set theories fix this problem.
CompSci 102
Michael Frank
4.2
4.3
CompSci 102
Michael Frank
4.4
Basic properties of sets
Definition of Set Equality
Sets are inherently unordered:
Two sets are declared to be equal if and only if they
contain exactly the same elements.
In particular, it does not matter how the set is defined or
denoted.
For example: The set {1, 2, 3, 4} =
{x | x is an integer where x>0 and x<5 } =
{x | x is a positive integer whose square
is >0 and <25}
No matter what objects a, b, and c denote,
{a, b, c} = {a, c, b} = {b, a, c} =
{b, c, a} = {c, a, b} = {c, b, a}.
All elements are distinct (unequal);
multiple listings make no difference!
If a=b, then {a, b, c} = {a, c} = {b, c} =
{a, a, b, a, b, c, c, c, c}.
This set contains (at most) 2 elements!
CompSci 102
Michael Frank
4.5
Infinite Sets
CompSci 102
Michael Frank
Venn Diagrams
Conceptually, sets may be infinite (i.e.,
(i.e., not finite,
finite,
without end, unending).
Symbols for some special infinite sets:
N = {0, 1, 2, } The Natural numbers.
Z = {
{, -2, -1, 0, 1, 2, } The Zntegers.
ntegers.
R = The Real
eal numbers, such as
374.1828471929498181917281943125
374.1828471929498181917281943125
Blackboard Bold
Bold or double-struck font (
(,,)
is also often used for these special number sets.
Infinite sets come in different sizes!
CompSci 102
4.6
More on this after module #4 (functions).
Michael Frank
4.7
John Venn
1834-1923
CompSci 102
Michael Frank
4.8
Basic Set Relations: Member of
The Empty Set
xS (x is in S) is the proposition that
object x is an lement or member of set S.
(null, the empty set) is the unique
set that contains no elements whatsoever.
= {} = {x|False}
No matter the domain of discourse,
we have the axiom x: x.
e.g. 3
3N, a{x | x is a letter of the alphabet}
Can define set equality in terms of relation:
S,T: S=T (
(x: xS xT)
Two sets are equal iff they have all the same
members.
members.
xS : (xS)
CompSci 102
x is not in S
Michael Frank
4.9
CompSci 102
Michael Frank
4.10
Subset and Superset Relations
Proper (Strict) Subsets & Supersets
ST (S is a subset of T) means that every
element of S is also an element of T.
ST x (xS xT)
S, SS.
ST (S is a superset of T) means TS.
Note S=T ST ST.
S / T means (ST), i.e.
x(xS xT)
ST (S is a proper subset of T) means
that ST but T / S. Similar for ST.
CompSci 102
Michael Frank
4.11
Example:
{1,2}
{1,2,3}
Venn Diagram equivalent of ST
CompSci 102
Michael Frank
4.12
Sets Are Objects, Too!
Cardinality and Finiteness
The objects that are elements of a set may
themselves be sets.
E.g. let S={x | x {1,2,3}}
then S={,
{1}, {2}, {3},
{1,2}, {1,3}, {2,3},
{1,2,3}}
Note that 1 {1} {{1}} !!!!
|S| (read the cardinality of S) is a measure
of how many different elements S has.
E.g., ||=0, |{1,2,3}| = 3, |{a,b}| = 2,
|{{1,2,3},{4,5}}| = ____
If |S|N, then we say S is finite.
Otherwise, we say S is infinite.
What are some infinite sets weve seen?
CompSci 102
Michael Frank
4.13
CompSci 102
Michael Frank
The Power Set Operation
Review: Set Notations So Far
The power set P(S) of a set S is the set of
all subsets of S. P(S) : {x | xS}.
E.g. P({a,b}) = {, {a}, {b}, {a,b}}.
Sometimes P(S) is written 2S.
Note that for finite S, |P(S)| = 2|S|.
It turns out S:|P(S)|>|S|, e.g. |P(N)| > |N|.
There are different sizes of infinite sets!
CompSci 102
Michael Frank
4.15
4.14
Variable objects x, y, z; sets S, T, U.
Literal set {a, b, c} and set-builder {x|P(x)}.
relational operator, and the empty set .
Set relations =, , , , , , etc.
Venn diagrams.
Cardinality |S| and infinite sets N, Z, R.
Power sets P(S).
CompSci 102
Michael Frank
4.16
Nave Set Theory is Inconsistent
Ordered n-tuples
There are some nave set descriptions that lead to
pathological structures that are not well-defined.
well-defined.
These are like sets, except that duplicates
matter, and the order makes a difference.
For nN, an ordered n-tuple or a sequence
or list of length n is written (a1, a2, , an).
Its first element is a1, etc.
Contrast with
Note that (1, 2) (2, 1) (2, 1, 1). sets {}
Empty sequence, singlets, pairs, triples,
quadruples, quintuples, , n-tuples.
(That do not have self-consistent properties.)
These sets
sets mathematically cannot exist.
E.g. let S = {x
{x | xx }. Is SS?
Therefore, consistent set theories must restrict the
language that can be used to describe sets.
For purposes of this class, don
dont worry about it!
CompSci 102
Michael Frank
Bertrand Russell
1872-1970
4.17
CompSci 102
Michael Frank
4.18
Cartesian Products of Sets
Review of 1.6
For sets A, B, their Cartesian product
AB : {(a, b) | aA bB }.
E.g. {a,b}{1,2} = {(a,1),(a,2),(b,1),(b,2)}
Note that for finite A, B, |AB|=|A||B|.
Note that the Cartesian product is not
commutative: i.e., AB: AB=BA.
Extends to A1 A2 An...
Sets S, T, U Special sets N, Z, R.
Set notations {a,b,...}, {x|P(x)}
Set relation operators xS, S T, ST, S=T,
ST, ST. (These form propositions.)
Finite vs. infinite sets.
Set operations |S|, P(S), ST.
Next up: 1.5: More set ops: , , .
CompSci 102
Michael Frank
Ren Descartes
(1596-1650)
4.19
CompSci 102
Michael Frank
4.20
Start 1.7: The Union Operator
Union Examples
For sets A, B, theirnion AB is the set
containing all elements that are either in A,
or () in B (or, of course, in both).
Formally, A,B: AB = {x | xA xB}.
Note that AB is a superset of both A and
B (in fact, it is the smallest such superset):
A, B: (AB A) (AB B)
{a,b,c}{2,3} = {a,b,c,2,3}
{2,3,5}{3,5,7} = {2,3,5,3,5,7} ={2,3,5,7}
CompSci 102
Michael Frank
4.21
Think The United
States of America
includes every
person who worked
in any U.S. state
last year. (This is
how the IRS sees
it...)
CompSci 102
Michael Frank
4.22
The Intersection Operator
Intersection Examples
For sets A, B, their intersection AB is the
set containing all elements that are
simultaneously in A and () in B.
Formally, A,B: AB={x | xA xB}.
Note that AB is a subset of both A and B
(in fact it is the largest such subset):
A, B: (AB A) (AB B)
{a,b,c}{2,3} = ___
{2,4,6}{3,4,5} = ______
{4}
CompSci 102
Michael Frank
4.23
Think The
intersection of
University Ave. and
W 13th St. is just
that part of the road
surface that lies on
both streets.
CompSci 102
Michael Frank
4.24
Disjointedness
Inclusion-Exclusion Principle
Two sets A, B are called
disjoint (i.e., unjoined)
iff their intersection is
empty. (AB=)
Example: the set of even
integers is disjoint with
the set of odd integers.
CompSci 102
Help, Ive
been
disjointed!
Michael Frank
4.25
How many elements are in AB?
|AB| = |A| + |B| |AB|
Example: How many students are on our
class email list? Consider set E = I M,
I = {s | s turned in an information sheet}
M = {s | s sent the TAs their email address}
Some students did both!
|E| = |IM| = |I| + |M| |IM|
CompSci 102
Michael Frank
4.26
Set Difference
Set Difference Examples
For sets A, B, the difference of A and B,
written AB, is the set of all elements that
are in A but not B. Formally:
A B : {x | xA xB}
= {x | (xA xB) }
Also called:
The complement of B with respect to A.
{1,2,3,4,5,6} {2,3,5,7,9,11} =
___________
{1,4,6}
Z N = { , 1, 0, 1, 2, } {0, 1, }
= {x | x is an integer but not a nat. #}
= {x | x is a negative integer}
= { , 3, 2, 1}
CompSci 102
Michael Frank
4.27
CompSci 102
Michael Frank
4.28
Set Difference - Venn Diagram
Set Complements
AB is whats left after B
takes a bite out of A
The universe of discourse can itself be
considered a set, call it U.
When the context clearly defines U, we say
that for any set AU, the complement of A,
written A, is the complement of A w.r.t. U,
i.e., it is UA.
E.g., If U=N, {3,5} = {0,1,2,4,6,7,...}
Chomp!
Set
AB
Set A
CompSci 102
Set B
Michael Frank
4.29
CompSci 102
More on Set Complements
Set Identities
An equivalent definition, when U is clear:
A = {x | x A}
A
A
U
CompSci 102
Michael Frank
4.31
Michael Frank
4.30
Identity:
A = A = AU
Domination: AU = U , A =
Idempotent:
AA = A = AA
Double complement: ( A ) = A
Commutative: AB = BA , AB = BA
Associative: A(BC)=(AB)C ,
A(BC)=(AB)C
CompSci 102
Michael Frank
4.32
DeMorgans Law for Sets
Proving Set Identities
Exactly analogous to (and provable from)
DeMorgans Law for propositions.
To prove statements about sets, of the form
E1 = E2 (where the Es are set expressions),
here are three useful techniques:
1. Prove E1 E2 and E2 E1 separately.
2. Use set builder notation &
logical equivalences.
3. Use a membership table.
A B = A B
A B = A B
CompSci 102
Michael Frank
4.33
CompSci 102
Michael Frank
4.34
Method 1: Mutual subsets
Method 3: Membership Tables
Example: Show A(BC)=(A
)=(AB)(AC).
Part 1: Show A(BC)(AB)(AC).
Just like truth tables for propositional logic.
Columns for different set expressions.
Rows for all combinations of memberships
in constituent sets.
Use 1 to indicate membership in the
derived set, 0 for non-membership.
Prove equivalence with identical columns.
Assume xA(BC), & show x(AB)(AC).
We know that xA, and either xB or xC.
Case 1: xB. Then xAB, so x(AB)(AC).
Case 2: xC. Then xAC , so x(AB)(AC).
Therefore, x(AB)(AC).
Therefore, A(BC)(AB)(AC).
Part 2: Show (A
(AB)(AC) A(BC).
CompSci 102
Michael Frank
4.35
CompSci 102
Michael Frank
4.36
Membership Table Example
Membership Table Exercise
Prove (AB)B = AB.
Prove (AB)C = (AC)(BC).
A
0
0
1
1
CompSci 102
B AB (AB)B AB
0
0
0
0
1
1
0
0
0
1
1
1
1
1
0
0
Michael Frank
A
0
0
0
0
1
1
1
1
4.37
CompSci 102
B
0
0
1
1
0
0
1
1
C AB ( AB) C A C
0
1
0
1
0
1
0
1
B C
(AC)(BC)
Michael Frank
Review of 1.6-1.7
Generalized Unions & Intersections
Since union & intersection are
commutative and associative, we can
extend them from operating on ordered
pairs of sets (A,B) to operating on
sequences of sets (A1,,An), or even on
unordered sets of sets,
X={A | P(A)}.
Sets S, T, U Special sets N, Z, R.
Set notations {a,b,...}, {x|P(x)}
Relations xS, S T, ST, S=T, ST, ST.
Operations |S|, P(S), , , , , S
Set equality proof techniques:
Mutual subsets.
Derivation using logical equivalences.
CompSci 102
Michael Frank
4.39
CompSci 102
Michael Frank
4.38
4.40
Generalized Union
Generalized Intersection
Binary union operator: AB
n-ary union:
AA2An : ((((A1 A2) ) An)
(grouping & order is irrelevant)
n
Big U notation:
A
Binary intersection operator: AB
n-ary intersection:
A1A2An((((A1A2))An)
(grouping & order is irrelevant)
Big Arch notation: n
Ai
I
i =1
Or for infinite sets of sets:
i =1
Or for infinite sets of sets:
UA
IA
A X
CompSci 102
Michael Frank
A X
4.41
CompSci 102
Michael Frank
4.42
Representations
Representing Sets with Bit Strings
A frequent theme of this course will be
methods of representing one discrete
structure using another discrete structure of
a different type.
E.g., one can represent natural numbers as
For an enumerable u.d. U with ordering
x1, x2, , represent a finite set SU as the
finite bit string B=b1b2bn where
i: xiS (i<n bi=1).
E.g. U=N, S={2,3,5,7,11}, B=001101010001.
In this representation, the set operators
, , are implemented directly by
bitwise OR, AND, NOT!
Sets: 0:,
, 1:{0}, 2:{0,1}, 3:{0,1,2},
Bit strings:
0:0, 1:1, 2:10,
11, 4:100,
100,
10, 3:11,
CompSci 102
Michael Frank
4.43
CompSci 102
Michael Frank
4.44