VIEWS: 4 PAGES: 77 CATEGORY: Personal Finance POSTED ON: 9/28/2010
Module #3 - Sets University of Aberdeen, Computing Science CS3511 Discrete Methods Kees van Deemter Slides adapted from Michael P. Frank‟s Course Based on the Text Discrete Mathematics & Its Applications (5th Edition) by Kenneth H. Rosen 9/27/2010 Michael P. Frank / Kees van Deemter 1 Module #3 - Sets Module #3: The Theory of Sets Rosen 5th ed., §§1.6-1.7 ~43 slides, ~2 lectures 9/27/2010 Michael P. Frank / Kees van Deemter 2 Module #3 - Sets Introduction to Set Theory (§1.6) • A set is another type of structure, representing an unordered collection of zero or more distinct 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. 9/27/2010 Michael P. Frank / Kees van Deemter 3 Module #3 - Sets Intuition behind sets • Almost anything you can do with individual objects, you can also do with sets of objects. E.g. (informally speaking), you can – refer to them, compare them, combine them, … • You can also do some things to a set that you probably cannot do to an individual: E.g., you can – check whether one set is contained in another (?) – determine how many elements it has (?) – quantify over its elements (using it as u.d. for ,) 9/27/2010 Michael P. Frank / Kees van Deemter 4 Module #3 - Sets Basic notations for sets • For sets, we‟ll 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. • 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). 9/27/2010 Michael P. Frank / Kees van Deemter 5 Module #3 - Sets Basic properties of sets • Sets are inherently unordered: – No matter what objects a, b, and c denote, {a, b, c} = {a, c, b} = {b, a, c} = … • Multiple listings make no difference: – {a, a, c, c, c, c}={a,c}. 9/27/2010 Michael P. Frank / Kees van Deemter 6 Module #3 - Sets Basic properties of sets • There exists a different mathematical construct, called bag or multiset, where this assumption does not hold. Using square brackets, we have – [a,a,c,c,c,c]=[a,c,a,c,c,c] [a,a,a,c] • Notation: if B is a bag then countB(e)=number of occurrences of e in B 9/27/2010 Michael P. Frank / Kees van Deemter 7 Module #3 - Sets Definition of Set Equality • Two sets are equal if and only if they contain exactly the same elements. • It does not matter how the set is defined • For example: {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} 9/27/2010 Michael P. Frank / Kees van Deemter 8 Module #3 - Sets Infinite Sets • Sets may be infinite (i.e., not finite, without end, unending). • Symbols for some special infinite sets: N = {0, 1, 2, …} The Natural numbers. Z = {…, -2, -1, 0, 1, 2, …} The integers. R = The “Real” numbers, such as 374.1828471929498181917281943125… • “Blackboard Bold” or double-struck font (ℕ,ℤ,ℝ) is also often used for these special number sets. • Infinite sets come in different sizes! More on this after module #4 (functions). 9/27/2010 Michael P. Frank / Kees van Deemter 9 Module #3 - Sets Venn/Euler Diagrams John Venn 1834-1923 9/27/2010 Michael P. Frank / Kees van Deemter 10 Module #3 - Sets • Warning: such diagrams come in different flavours (e.g., Venn or Euler). We will „mix and match‟ flavours – This is ok as long as it‟s clear what we mean. 9/27/2010 Michael P. Frank / Kees van Deemter 11 Module #3 - Sets Basic Set Relations: Member of • xS (“x is in S”) is the proposition that object x is an lement or member of set S. – e.g. 3N, “a”{x | x is a letter of the alphabet} • Set equality is defined in terms of : S=T :def x: xS xT “Two sets are equal iff they have the same members.” • Notation: xS :def (xS) 9/27/2010 Michael P. Frank / Kees van Deemter 12 Module #3 - Sets A set can be empty • Suppose we call a set S empty iff it has no elements: x(xS). • Prove that xy((empty(x) empty(y) x=y) • Note: this formula quantifies over sets! 9/27/2010 Michael P. Frank / Kees van Deemter 13 Module #3 - Sets There‟s only one empty set Prove that xy((empty(x) empty(y)) x=y) Proof by Reductio ad Absurdum: • Suppose there existed a and b such that empty(a) and empty(b). • Thus, x(xa) x(xb) • Suppose ab. This would mean that either x(xa xb) or x(xb xa) • But the first case cannot hold, for x(xa). The second case cannot hold, for x(xb) • Contradiction, so QED 9/27/2010 Michael P. Frank / Kees van Deemter 14 Module #3 - Sets The Empty Set • We have seen that there exists exactly one empty set, so we can give it a name: • (“the empty set”) is the unique set that contains no elements whatsoever. • = {} = {x|xx} = ... = {x|False} • Any set containing exactly one element is called a singleton 9/27/2010 Michael P. Frank / Kees van Deemter 15 Module #3 - Sets Subset and Superset Relations • ST (“S is a subset of T”) means that every element of S is also an element of T. • ST :def x (xS xT) • What do you think about these? – S ? – SS ? 9/27/2010 Michael P. Frank / Kees van Deemter 16 Module #3 - Sets Subset and Superset Relations • ST (“S is a subset of T”) means that every element of S is also an element of T. • ST :def x (xS xT) • What do you think about these? – S ? Yes – SS ? Yes 9/27/2010 Michael P. Frank / Kees van Deemter 17 Module #3 - Sets Subset and Superset Relations • More notation: • ST (“S is a superset of T”) :def TS. Note S=T ST ST. • S T :def (ST), i.e. x(xS xT) / 9/27/2010 Michael P. Frank / Kees van Deemter 18 Module #3 - Sets Proper (Strict) Subsets & Supersets • ST (“S is a proper subset of T”) means that ST but T. S / Example:{1,2} {1,2,3} We have {1,2,3} {1,2,3}, but not {1,2,3} {1,2,3} 9/27/2010 Michael P. Frank / Kees van Deemter 19 Module #3 - Sets Sets Are Objects, Too! • The elements of a set may themselves be sets. • E.g. let S={x | x {1,2,3}} then S = … 9/27/2010 Michael P. Frank / Kees van Deemter 20 Module #3 - Sets Sets Are Objects, Too! • 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}} 9/27/2010 Michael P. Frank / Kees van Deemter 21 Module #3 - Sets Cardinality and Finiteness • |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. 9/27/2010 Michael P. Frank / Kees van Deemter 22 Module #3 - Sets The Power Set Operation • 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, because |P(S)| = 2|S|. • It turns out S:|P(S)|>|S|, e.g. |P(N)| > |N|. There are different sizes of infinite sets! 9/27/2010 Michael P. Frank / Kees van Deemter 23 Module #3 - Sets Review: Set Notations So Far • Set enumeration {a, b, c} and set-builder {x|P(x)}. • relation, and the empty set . • Set relations =, , , , , , etc. • Venn diagrams. • Cardinality |S| and infinite sets N, Z, R. • Power sets P(S). 9/27/2010 Michael P. Frank / Kees van Deemter 24 Module #3 - Sets Axiomatic set theory • Various axioms, e.g., saying that the union of two sets is also a set • One key axiom: Given a Predicate P, construct a set. The set consists of all those elements x such that P(x) is true. • But, the resulting theory turns out to be logically inconsistent! – This means, there exist 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” by contradiction! 9/27/2010 Michael P. Frank / Kees van Deemter 25 Module #3 - Sets This version of Set Theory is inconsistent Russell’s paradox: • Consider the set that corresponds with the predicate x x : S = {x | xx }. • Now ask: is SS? 9/27/2010 Michael P. Frank / Kees van Deemter 26 Module #3 - Sets Russell‟s paradox • Let S = {x | xx }. Is SS? • If SS, then S is one of those objects x for which xx. In other words, SS By Reductio, we have SS • If SS, then S is not one of those objects x for which xx. In other words, SS By Reductio, we have SS • We conclude that both SS nor SS • Paradox! (There‟s no assumption that we can blame, so we cannot Reductio again) 9/27/2010 Michael P. Frank / Kees van Deemter 27 Module #3 - Sets • To avoid inconsistency, set theory must somehow change Bertrand Russell 1872-1970 9/27/2010 Michael P. Frank / Kees van Deemter 28 Module #3 - Sets ( One example of „sophisticated‟ set theory: • Given a set S and a predicate P, construct a new set, consisting of those elements x of S such that P(x) is true. • We will not worry about the possibility of logical inconsistency – Just be sensible when constructing sets. ) 9/27/2010 Michael P. Frank / Kees van Deemter 29 Module #3 - Sets Ordered n-tuples • These are like sets, except that duplicates matter, and the order makes a difference. • For nN, an ordered n-tuple or a sequence 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, …, n-tuples. 9/27/2010 Michael P. Frank / Kees van Deemter 30 Module #3 - Sets • n-tuples have many applications. For example, 9/27/2010 Michael P. Frank / Kees van Deemter 31 Module #3 - Sets • Relations are often spelled out by means of n- tuples. E.g., here are two 2-place relations: < = { (0,1), (1,2), (0,2), …) } Like-to-watch = {(John,news),(Mary,soap),(Ellen,movies)} • The first and second argument of a relation may come from different sets, e.g. first: element of the set of persons second: element of the set of TV-programs 9/27/2010 Michael P. Frank / Kees van Deemter 32 Module #3 - Sets Cartesian Products of Sets • 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)} • {John,Mary,Ellen}x{News,Soap}= René Descartes 9/27/2010 Michael P. Frank / Kees van Deemter (1596-1650)33 Module #3 - Sets Cartesian Products of Sets • 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)} • {John,Mary,Ellen}x{News,Soap}= {(John,News),(Mary,News),(Ellen,News), (John,Soap),(Mary,Soap),(Ellen,Soap)} • If R is a relation between A and B then RAxB 9/27/2010 Michael P. Frank / Kees van Deemter 34 Module #3 - Sets Cartesian Products of Sets • Note that – for finite A, B, |AB| = |A|.|B| – the Cartesian product is not commutative: i.e., AB: AB=BA. – notation extends naturally to A1 A2 … An 9/27/2010 Michael P. Frank / Kees van Deemter 35 Module #3 - Sets Review of §1.6 • Sets S, T, U… Special sets N, Z, R. • Set notations {a,b,...}, {x|P(x)}… • Set relation operators xS, ST, 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: , , . 9/27/2010 Michael P. Frank / Kees van Deemter 36 Module #3 - Sets Start §1.7: The Union Operator • 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) 9/27/2010 Michael P. Frank / Kees van Deemter 37 Module #3 - Sets Union Examples • {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} 9/27/2010 Michael P. Frank / Kees van Deemter 38 Module #3 - Sets The Intersection Operator • 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) 9/27/2010 Michael P. Frank / Kees van Deemter 39 Module #3 - Sets Intersection Examples • {a,b,c}{2,3} = ___ • {2,4,6}{3,4,5} = ______ {4} Think “The intersection of University Ave. and W 13th St. is just that part of the road surface that lies on both streets.” 9/27/2010 Michael P. Frank / Kees van Deemter 40 Module #3 - Sets Disjointness • Two sets A, B are called disjoint (i.e., not joined) iff their intersection is empty. (AB=) • Example: the set of even integers is disjoint with the set of odd integers. 9/27/2010 Michael P. Frank / Kees van Deemter 41 Module #3 - Sets Inclusion-Exclusion Principle • How many elements are in AB? Can you think of a general formula? (Express in terms of |A| and |B| and whatever else you need.) 9/27/2010 Michael P. Frank / Kees van Deemter 42 Module #3 - Sets Inclusion-Exclusion Principle • 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 may have done both! |E| = |IM| = |I| |M| |IM| 9/27/2010 Michael P. Frank / Kees van Deemter 43 Module #3 - Sets Set Difference • 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 • Also called: The complement of B with respect to A. 9/27/2010 Michael P. Frank / Kees van Deemter 44 Module #3 - Sets Set Difference Examples • {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} 9/27/2010 Michael P. Frank / Kees van Deemter 45 Module #3 - Sets Set Difference - Venn Diagram • A−B is what‟s left after B “takes a bite out of A” Chomp! Set AB Set A Set B 9/27/2010 Michael P. Frank / Kees van Deemter 46 Module #3 - Sets Set Complements • 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,...} 9/27/2010 Michael P. Frank / Kees van Deemter 47 Module #3 - Sets Set Identities • A 9/27/2010 Michael P. Frank / Kees van Deemter 48 Module #3 - Sets Set Identities • A = A • AU = 9/27/2010 Michael P. Frank / Kees van Deemter 49 Module #3 - Sets Set Identities • A = A • AU = A 9/27/2010 Michael P. Frank / Kees van Deemter 50 Module #3 - Sets Set Identities • A = A = AU • AU = U A = (A ) 9/27/2010 Michael P. Frank / Kees van Deemter 51 Module #3 - Sets Set Identities • A = A = AU • AU = U A = • AA = A = AA • AB = BA ( A) A AB = BA • A(BC)=(AB)C A(BC)=(AB)C 9/27/2010 Michael P. Frank / Kees van Deemter 52 Module #3 - Sets Have you seen similar patterns before? 9/27/2010 Michael P. Frank / Kees van Deemter 53 Module #3 - Sets Read: := , := , :=F, U:=T • A = A = AU • AU = U , A = • AA = A = AA • AB = BA , AB = BA • A(BC)=(AB)C , A(BC)=(AB)C 9/27/2010 Michael P. Frank / Kees van Deemter 54 Module #3 - Sets Set Identities (don‟t worry about their names) • 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 9/27/2010 Michael P. Frank / Kees van Deemter 55 Module #3 - Sets DeMorgan‟s Law for Sets • Exactly analogous to (and provable from) DeMorgan‟s Law for propositions. A B A B A B A B 9/27/2010 Michael P. Frank / Kees van Deemter 56 Module #3 - Sets ( An algebraic perspective • Propositional logic and set theory are isomorphic. • They both instantiate what is known as a Boolean Algebra: A structure (D,,+, . ,0,1) where is a one-place operation + and . are a two-place operations + is commutative, etc. ) 9/27/2010 Michael P. Frank / Kees van Deemter 57 Module #3 - Sets Proving Set Identities To prove statements about sets, of the form E1 = E2 (where the Es are set expressions), here are three useful techniques: 1. Use equivalence laws 2. Prove E1 E2 and E2 E1 separately. 3. Use a membership table. 9/27/2010 Michael P. Frank / Kees van Deemter 58 Module #3 - Sets Method 2: Mutual subsets Example: Show A(BC)=(AB)(AC). 9/27/2010 Michael P. Frank / Kees van Deemter 59 Module #3 - Sets Method 2: Mutual subsets Example: Show A(BC)=(AB)(AC). • Part 1: Show A(BC)(AB)(AC). – 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 (AB)(AC) A(BC). (analogous) 9/27/2010 Michael P. Frank / Kees van Deemter 60 Module #3 - Sets Method 2: Mutual subsets • A variant of this method: translate into propositional logic, then reason within propositional logic, then translate back into set theory. E.g., • Show A(BC)(AB)(AC). Suppose xA (xB xC). Prove (xA xB) (xA xC). 9/27/2010 Michael P. Frank / Kees van Deemter 61 Module #3 - Sets Method 3: Membership Tables • 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. 9/27/2010 Michael P. Frank / Kees van Deemter 62 Module #3 - Sets Membership Table Example Prove (AB)B = AB. A B AB (AB)B AB 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 9/27/2010 Michael P. Frank / Kees van Deemter 63 Module #3 - Sets Membership Table Exercise Prove (AB)C = (AC)(BC). A B C AB ( A B ) C A C B C (AC)(BC) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 9/27/2010 Michael P. Frank / Kees van Deemter 64 Module #3 - Sets Membership Table Exercise Prove (AB)C = (AC)(BC). A B C AB (AB)C AC BC (AC)(BC) 000 001 010 1 011 100 1 101 110 1 111 9/27/2010 Michael P. Frank / Kees van Deemter 65 Module #3 - Sets Membership Table Exercise Prove (AB)C = (AC)(BC). A B C AB (AB)C AC BC (AC)(BC) 000 001 010 1 1 011 100 1 1 101 110 1 1 1 111 9/27/2010 Michael P. Frank / Kees van Deemter 66 Module #3 - Sets Membership Table Exercise Prove (AB)C = (AC)(BC). A B C AB (AB)C AC BC (AC)(BC) 000 001 010 1 1 1 011 100 1 1 1 101 110 1 1 1 1 111 9/27/2010 Michael P. Frank / Kees van Deemter 67 Module #3 - Sets Review of §1.6-1.7 • Sets S, T, U… Special sets N, Z, R. • Set notations {a,b,...}, {x|P(x)}… • Relations xS, ST, ST, S=T, ST, ST. • Operations |S|, P(S), , , , , S • Set equality proof techniques 9/27/2010 Michael P. Frank / Kees van Deemter 68 Module #3 - Sets 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)} (for some property P). (This is just like using when adding up large or variable numbers of numbers) 9/27/2010 Michael P. Frank / Kees van Deemter 69 Module #3 - Sets Generalized Union • Binary union operator: AB • n-ary union: A1A2…An : ((…((A1 A2) …) An) (grouping & order is irrelevant) n • “Big U” notation: A i 1 i • Or for infinite sets of sets: A A X 9/27/2010 Michael P. Frank / Kees van Deemter 70 Module #3 - Sets Generalized Intersection • Binary intersection operator: AB • n-ary intersection: A1A2…An((…((A1A2)…)An) (grouping & order is irrelevant) n • “Big Arch” notation: A i 1 i • Or for infinite sets of sets: A A X 9/27/2010 Michael P. Frank / Kees van Deemter 71 Module #3 - Sets (Aside: Representations • A frequent theme of this course is: methods of representing one discrete structure using another discrete structure. • E.g., one can represent natural numbers as – Sets: 0:, 1:{0}, 2:{0,1}, 3:{0,1,2}, … – Can you write 3 more fully? 9/27/2010 Michael P. Frank / Kees van Deemter 72 Module #3 - Sets Representations – Sets: 0:, 1:{0}, 2:{0,1}, 3:{0,1,2}, … – General: n : {x N : x<n} – Can you write 3 more fully? 0= 1 = {} 2 = {,{}} 3 = {,{},{,{}}} 9/27/2010 Michael P. Frank / Kees van Deemter 73 Module #3 - Sets Representations 3 = {,{},{,{}}} • Note that this uses as the only building block. (This is how „pure‟ set theory works: everything is created from nothing …) For Computer Science, this is not directly relevant. ) 9/27/2010 Michael P. Frank / Kees van Deemter 74 Module #3 - Sets Representing Sets with Bit Strings For an enumerable u.d. U with ordering x1, x2, …, represent a finite set SU as the finite bit string B=b1b2…bn 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! 9/27/2010 Michael P. Frank / Kees van Deemter 75 Module #3 - Sets Representing Sets with Bit Strings In this representation, the set operators “”, “”, “-” are implemented directly by bitwise OR, AND, NOT! For example, {2,3,5,7,11} {1,3,4,9} = 001101010001 010110000100 = 011111010101 9/27/2010 Michael P. Frank / Kees van Deemter 76 Module #3 - Sets • We now know enough about sets to move on to relations between sets, and functions from one set to another 9/27/2010 Michael P. Frank / Kees van Deemter 77