1 / 77

University of Aberdeen, Computing Science CS3511 Discrete Methods Kees van Deemter

7/26/2012. Michael P. Frank / Kees van Deemter. 2. Module

galvin
Download Presentation

University of Aberdeen, Computing Science CS3511 Discrete Methods Kees van Deemter

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. 7/27/2012 Michael P. Frank / Kees van Deemter 1 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 A word about organization: Since different courses have different lengths of lecture periods, and different instructors go at different paces, rather than dividing the material up into fixed-length lectures, we will divide it up into “modules” which correspond to major topic areas and will generally take 1-3 lectures to cover. Within modules, we have smaller “topics”. Within topics are individual slides. The instructor can bring several modules to each lecture with him, to make sure he has enough material to fill the lecture, or in case he wants to preview or review slides from upcoming or recent past lectures.A word about organization: Since different courses have different lengths of lecture periods, and different instructors go at different paces, rather than dividing the material up into fixed-length lectures, we will divide it up into “modules” which correspond to major topic areas and will generally take 1-3 lectures to cover. Within modules, we have smaller “topics”. Within topics are individual slides. The instructor can bring several modules to each lecture with him, to make sure he has enough material to fill the lecture, or in case he wants to preview or review slides from upcoming or recent past lectures.

    2. 7/27/2012 Michael P. Frank / Kees van Deemter 2 Module #3: The Theory of Sets Rosen 5th ed., §§1.6-1.7 ~43 slides, ~2 lectures

    3. 7/27/2012 Michael P. Frank / Kees van Deemter 3 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.

    4. 7/27/2012 Michael P. Frank / Kees van Deemter 4 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 ?,?)

    5. 7/27/2012 Michael P. Frank / Kees van Deemter 5 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). Read {a, b, c} as “the set whose elements are a, b, and c” or just “the set a, b, c”.Read {a, b, c} as “the set whose elements are a, b, and c” or just “the set a, b, c”.

    6. 7/27/2012 Michael P. Frank / Kees van Deemter 6 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}.

    7. 7/27/2012 Michael P. Frank / Kees van Deemter 7 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

    8. 7/27/2012 Michael P. Frank / Kees van Deemter 8 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. 7/27/2012 Michael P. Frank / Kees van Deemter 9 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 (N,Z,R) is also often used for these special number sets. Infinite sets come in different sizes!

    10. 7/27/2012 Michael P. Frank / Kees van Deemter 10 Venn/Euler Diagrams With Venn diagrams, you can see that one set is a subset of another just by seeing that you can draw an enclosure around its members that fits completely inside an enclosure drawn around the larger set’s members.With Venn diagrams, you can see that one set is a subset of another just by seeing that you can draw an enclosure around its members that fits completely inside an enclosure drawn around the larger set’s members.

    11. 7/27/2012 Michael P. Frank / Kees van Deemter 11 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.

    12. 7/27/2012 Michael P. Frank / Kees van Deemter 12 Basic Set Relations: Member of x?S (“x is in S”) is the proposition that object x is an ?lement or member of set S. e.g. 3?N, “a”?{x | x is a letter of the alphabet} Set equality is defined in terms of ?: S=T :?def ?x: x?S ? x?T “Two sets are equal iff they have the same members.” Notation: x?S :?def ?(x?S)

    13. 7/27/2012 Michael P. Frank / Kees van Deemter 13 A set can be empty Suppose we call a set S empty iff it has no elements: ??x(x?S). Prove that ?xy((empty(x) ? empty(y) ? x=y) Note: this formula quantifies over sets!

    14. 7/27/2012 Michael P. Frank / Kees van Deemter 14 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(x?a) ? ??x(x?b) Suppose a?b. This would mean that either ?x(x?a ? ?x?b) or ?x(x?b ? ?x?a) But the first case cannot hold, for ??x(x?a). The second case cannot hold, for ??x(x?b) Contradiction, so QED

    15. 7/27/2012 Michael P. Frank / Kees van Deemter 15 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|x?x} = ... = {x|False} Any set containing exactly one element is called a singleton

    16. 7/27/2012 Michael P. Frank / Kees van Deemter 16 Subset and Superset Relations S?T (“S is a subset of T”) means that every element of S is also an element of T. S?T :?def ?x (x?S ? x?T) What do you think about these? ??S ? S?S ? Note also that FORALL x P(x)->Q(x) can also be understood as meaning “{x|P(x)} is a subset of {x|Q{x}}”. This can help you understand the meaning of implication. For example, if I say, “if a student has a drivers license, then he is over 16,” this is the same as saying “the set of students with drivers licenses is a subset of the set of students who are over 16”, or “every student with a drivers license is over 16.” If no students in the universe of discourse have drivers licenses, then the antecedent is always false, or in other words the set of students with drivers licenses is just the empty set, which is of course a member of every set, and so the statement is vacuously true. Alternatively, if every student in the universe of discourse is over 16, then the consequent is always true, that is, the set of students who are over 16 is the entire universe of discourse, and so every set of students in the u.d. is necessarily a subset of the set of students who are over 16, and so the statement is trivially true. The statement is only false if there exists a student with a drivers license in the u.d. who is under 16 (perhaps the license is fake or from a foreign country), in which case, the set of students with drivers licenses is *not* a subset of the under-16 students.Note also that FORALL x P(x)->Q(x) can also be understood as meaning “{x|P(x)} is a subset of {x|Q{x}}”. This can help you understand the meaning of implication. For example, if I say, “if a student has a drivers license, then he is over 16,” this is the same as saying “the set of students with drivers licenses is a subset of the set of students who are over 16”, or “every student with a drivers license is over 16.” If no students in the universe of discourse have drivers licenses, then the antecedent is always false, or in other words the set of students with drivers licenses is just the empty set, which is of course a member of every set, and so the statement is vacuously true. Alternatively, if every student in the universe of discourse is over 16, then the consequent is always true, that is, the set of students who are over 16 is the entire universe of discourse, and so every set of students in the u.d. is necessarily a subset of the set of students who are over 16, and so the statement is trivially true. The statement is only false if there exists a student with a drivers license in the u.d. who is under 16 (perhaps the license is fake or from a foreign country), in which case, the set of students with drivers licenses is *not* a subset of the under-16 students.

    17. 7/27/2012 Michael P. Frank / Kees van Deemter 17 Subset and Superset Relations S?T (“S is a subset of T”) means that every element of S is also an element of T. S?T :?def ?x (x?S ? x?T) What do you think about these? ??S ? Yes S?S ? Yes Note also that FORALL x P(x)->Q(x) can also be understood as meaning “{x|P(x)} is a subset of {x|Q{x}}”. This can help you understand the meaning of implication. For example, if I say, “if a student has a drivers license, then he is over 16,” this is the same as saying “the set of students with drivers licenses is a subset of the set of students who are over 16”, or “every student with a drivers license is over 16.” If no students in the universe of discourse have drivers licenses, then the antecedent is always false, or in other words the set of students with drivers licenses is just the empty set, which is of course a member of every set, and so the statement is vacuously true. Alternatively, if every student in the universe of discourse is over 16, then the consequent is always true, that is, the set of students who are over 16 is the entire universe of discourse, and so every set of students in the u.d. is necessarily a subset of the set of students who are over 16, and so the statement is trivially true. The statement is only false if there exists a student with a drivers license in the u.d. who is under 16 (perhaps the license is fake or from a foreign country), in which case, the set of students with drivers licenses is *not* a subset of the under-16 students.Note also that FORALL x P(x)->Q(x) can also be understood as meaning “{x|P(x)} is a subset of {x|Q{x}}”. This can help you understand the meaning of implication. For example, if I say, “if a student has a drivers license, then he is over 16,” this is the same as saying “the set of students with drivers licenses is a subset of the set of students who are over 16”, or “every student with a drivers license is over 16.” If no students in the universe of discourse have drivers licenses, then the antecedent is always false, or in other words the set of students with drivers licenses is just the empty set, which is of course a member of every set, and so the statement is vacuously true. Alternatively, if every student in the universe of discourse is over 16, then the consequent is always true, that is, the set of students who are over 16 is the entire universe of discourse, and so every set of students in the u.d. is necessarily a subset of the set of students who are over 16, and so the statement is trivially true. The statement is only false if there exists a student with a drivers license in the u.d. who is under 16 (perhaps the license is fake or from a foreign country), in which case, the set of students with drivers licenses is *not* a subset of the under-16 students.

    18. 7/27/2012 Michael P. Frank / Kees van Deemter 18 Subset and Superset Relations More notation: S?T (“S is a superset of T”) :?def T?S. Note S=T ? S?T? S?T. :?def ?(S?T), i.e. ?x(x?S ? x?T) Note also that FORALL x P(x)->Q(x) can also be understood as meaning “{x|P(x)} is a subset of {x|Q{x}}”. This can help you understand the meaning of implication. For example, if I say, “if a student has a drivers license, then he is over 16,” this is the same as saying “the set of students with drivers licenses is a subset of the set of students who are over 16”, or “every student with a drivers license is over 16.” If no students in the universe of discourse have drivers licenses, then the antecedent is always false, or in other words the set of students with drivers licenses is just the empty set, which is of course a member of every set, and so the statement is vacuously true. Alternatively, if every student in the universe of discourse is over 16, then the consequent is always true, that is, the set of students who are over 16 is the entire universe of discourse, and so every set of students in the u.d. is necessarily a subset of the set of students who are over 16, and so the statement is trivially true. The statement is only false if there exists a student with a drivers license in the u.d. who is under 16 (perhaps the license is fake or from a foreign country), in which case, the set of students with drivers licenses is *not* a subset of the under-16 students.Note also that FORALL x P(x)->Q(x) can also be understood as meaning “{x|P(x)} is a subset of {x|Q{x}}”. This can help you understand the meaning of implication. For example, if I say, “if a student has a drivers license, then he is over 16,” this is the same as saying “the set of students with drivers licenses is a subset of the set of students who are over 16”, or “every student with a drivers license is over 16.” If no students in the universe of discourse have drivers licenses, then the antecedent is always false, or in other words the set of students with drivers licenses is just the empty set, which is of course a member of every set, and so the statement is vacuously true. Alternatively, if every student in the universe of discourse is over 16, then the consequent is always true, that is, the set of students who are over 16 is the entire universe of discourse, and so every set of students in the u.d. is necessarily a subset of the set of students who are over 16, and so the statement is trivially true. The statement is only false if there exists a student with a drivers license in the u.d. who is under 16 (perhaps the license is fake or from a foreign country), in which case, the set of students with drivers licenses is *not* a subset of the under-16 students.

    19. 7/27/2012 Michael P. Frank / Kees van Deemter 19 Proper (Strict) Subsets & Supersets S?T (“S is a proper subset of T”) means that S?T but . Example:{1,2} ? {1,2,3} We have {1,2,3} ? {1,2,3}, but not {1,2,3} ? {1,2,3} Here the understanding is that the blue/green area is empty!Here the understanding is that the blue/green area is empty!

    20. 7/27/2012 Michael P. Frank / Kees van Deemter 20 Sets Are Objects, Too! The elements of a set may themselves be sets. E.g. let S={x | x ? {1,2,3}} then S = … In general, any kind of object or structure, whether simple or complex, can be a member of a set. In particular, sets themselves (being structures) can be members of sets. If you don’t understand the distinction between 1, {1}, {{1}}, you’ll make endless silly mistakes. 1 is a number, the number one. {1} is NOT A NUMBER AT ALL! It is a COMPLETELY DIFFERENT TYPE OF OBJECT! Namely, it is a set. What kind of set? It is a singleton set, by which we mean a set that contains exactly one element. In this case, its element happens to be the number 1. Now, what is {{1}}? It is also a set, and also a singleton set, but it is a COMPLETELY DIFFERENT TYPE of singleton set. To see this, notice that {1} is a set of numbers, whereas {{1}} is not a set of numbers at all! It is a SET OF SETS. Its single element is not a number at all, but is a SET. Namely, the set {1}. In other words, {{1}} is the singleton set whose member is the singleton set whose member is 1. Whereas, {1} is just the singleton set whose member is 1. And, 1 is just 1. All of these are distinct objects and you’ve got to learn to keep them separate! Otherwise, you’ll never have a chance of understanding data types in programming languages. For example, in most languages, we can have an array of numbers, or an array of arrays of numbers, etc. These are all completely different types of objects and can never be compatible with each other.In general, any kind of object or structure, whether simple or complex, can be a member of a set. In particular, sets themselves (being structures) can be members of sets. If you don’t understand the distinction between 1, {1}, {{1}}, you’ll make endless silly mistakes. 1 is a number, the number one. {1} is NOT A NUMBER AT ALL! It is a COMPLETELY DIFFERENT TYPE OF OBJECT! Namely, it is a set. What kind of set? It is a singleton set, by which we mean a set that contains exactly one element. In this case, its element happens to be the number 1. Now, what is {{1}}? It is also a set, and also a singleton set, but it is a COMPLETELY DIFFERENT TYPE of singleton set. To see this, notice that {1} is a set of numbers, whereas {{1}} is not a set of numbers at all! It is a SET OF SETS. Its single element is not a number at all, but is a SET. Namely, the set {1}. In other words, {{1}} is the singleton set whose member is the singleton set whose member is 1. Whereas, {1} is just the singleton set whose member is 1. And, 1 is just 1. All of these are distinct objects and you’ve got to learn to keep them separate! Otherwise, you’ll never have a chance of understanding data types in programming languages. For example, in most languages, we can have an array of numbers, or an array of arrays of numbers, etc. These are all completely different types of objects and can never be compatible with each other.

    21. 7/27/2012 Michael P. Frank / Kees van Deemter 21 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}} In general, any kind of object or structure, whether simple or complex, can be a member of a set. In particular, sets themselves (being structures) can be members of sets. If you don’t understand the distinction between 1, {1}, {{1}}, you’ll make endless silly mistakes. 1 is a number, the number one. {1} is NOT A NUMBER AT ALL! It is a COMPLETELY DIFFERENT TYPE OF OBJECT! Namely, it is a set. What kind of set? It is a singleton set, by which we mean a set that contains exactly one element. In this case, its element happens to be the number 1. Now, what is {{1}}? It is also a set, and also a singleton set, but it is a COMPLETELY DIFFERENT TYPE of singleton set. To see this, notice that {1} is a set of numbers, whereas {{1}} is not a set of numbers at all! It is a SET OF SETS. Its single element is not a number at all, but is a SET. Namely, the set {1}. In other words, {{1}} is the singleton set whose member is the singleton set whose member is 1. Whereas, {1} is just the singleton set whose member is 1. And, 1 is just 1. All of these are distinct objects and you’ve got to learn to keep them separate! Otherwise, you’ll never have a chance of understanding data types in programming languages. For example, in most languages, we can have an array of numbers, or an array of arrays of numbers, etc. These are all completely different types of objects and can never be compatible with each other.In general, any kind of object or structure, whether simple or complex, can be a member of a set. In particular, sets themselves (being structures) can be members of sets. If you don’t understand the distinction between 1, {1}, {{1}}, you’ll make endless silly mistakes. 1 is a number, the number one. {1} is NOT A NUMBER AT ALL! It is a COMPLETELY DIFFERENT TYPE OF OBJECT! Namely, it is a set. What kind of set? It is a singleton set, by which we mean a set that contains exactly one element. In this case, its element happens to be the number 1. Now, what is {{1}}? It is also a set, and also a singleton set, but it is a COMPLETELY DIFFERENT TYPE of singleton set. To see this, notice that {1} is a set of numbers, whereas {{1}} is not a set of numbers at all! It is a SET OF SETS. Its single element is not a number at all, but is a SET. Namely, the set {1}. In other words, {{1}} is the singleton set whose member is the singleton set whose member is 1. Whereas, {1} is just the singleton set whose member is 1. And, 1 is just 1. All of these are distinct objects and you’ve got to learn to keep them separate! Otherwise, you’ll never have a chance of understanding data types in programming languages. For example, in most languages, we can have an array of numbers, or an array of arrays of numbers, etc. These are all completely different types of objects and can never be compatible with each other.

    22. 7/27/2012 Michael P. Frank / Kees van Deemter 22 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.

    23. 7/27/2012 Michael P. Frank / Kees van Deemter 23 The Power Set Operation The power set P(S) of a set S is the set of all subsets of S. P(S) := {x | x?S}. 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! We’ll get to different sizes of infinite sets later, in the module on functions.We’ll get to different sizes of infinite sets later, in the module on functions.

    24. 7/27/2012 Michael P. Frank / Kees van Deemter 24 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).

    25. 7/27/2012 Michael P. Frank / Kees van Deemter 25 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! This is a nice exercise. We won’t worry about this particular inconsistency (Russell’s paradox) in this course, because the extra restrictions on the theory that need to be imposed to prevent the problem are of a rather esoteric and technical nature, and they don’t really affect anything about the way we apply sets in everyday practice. So, we will go ahead and just use naďve set theory with the understanding that all of our arguments could be replaced almost word-for-word by arguments based on some more well-founded version of set theory. One of the most popular set theories that has no known internal contradictions is Zermelo-Fraenkel (ZF) Set Theory. It is sometimes also augmented with an extra axiom called the “Axiom of Choice,” producing another widely-used set theory, ZFC (Zermelo-Fraenkel with Choice). However, the Axiom of Choice has been proven to be independent of the other axioms, which means that you could just as validly add the negation of the axiom of choice to ZF instead. In other words, not only is the axiom of choice not provable from ZF, but is has no inherent truth value within the context of ZF. We are free to make up whatever truth value we want for it, and then explore the resulting theory. This is just an illustration of the more general principle that what we are doing in mathematics is ultimately just inventing an arbitrary set of axioms to start out with, that have no inherent “truth” in and of themselves, and exploring what results from them. Ultimately, the only absolute mathematical “truths” are the tautologies saying that such-and-such consequence follows logically from such-and-such axioms.This is a nice exercise. We won’t worry about this particular inconsistency (Russell’s paradox) in this course, because the extra restrictions on the theory that need to be imposed to prevent the problem are of a rather esoteric and technical nature, and they don’t really affect anything about the way we apply sets in everyday practice. So, we will go ahead and just use naďve set theory with the understanding that all of our arguments could be replaced almost word-for-word by arguments based on some more well-founded version of set theory. One of the most popular set theories that has no known internal contradictions is Zermelo-Fraenkel (ZF) Set Theory. It is sometimes also augmented with an extra axiom called the “Axiom of Choice,” producing another widely-used set theory, ZFC (Zermelo-Fraenkel with Choice). However, the Axiom of Choice has been proven to be independent of the other axioms, which means that you could just as validly add the negation of the axiom of choice to ZF instead. In other words, not only is the axiom of choice not provable from ZF, but is has no inherent truth value within the context of ZF. We are free to make up whatever truth value we want for it, and then explore the resulting theory. This is just an illustration of the more general principle that what we are doing in mathematics is ultimately just inventing an arbitrary set of axioms to start out with, that have no inherent “truth” in and of themselves, and exploring what results from them. Ultimately, the only absolute mathematical “truths” are the tautologies saying that such-and-such consequence follows logically from such-and-such axioms.

    26. 7/27/2012 Michael P. Frank / Kees van Deemter 26 This version of Set Theory is inconsistent Russell’s paradox: Consider the set that corresponds with the predicate x ? x : S = {x | x?x }. Now ask: is S?S? Turn into exercise! See note about ZF in the earlier slide near the start of this module. Bertrand Russell was the guy who discovered this particular pathalogical example. The question of whether it is a member of itself is known as “Russell’s Paradox.”Turn into exercise! See note about ZF in the earlier slide near the start of this module. Bertrand Russell was the guy who discovered this particular pathalogical example. The question of whether it is a member of itself is known as “Russell’s Paradox.”

    27. 7/27/2012 Michael P. Frank / Kees van Deemter 27 Russell’s paradox Let S = {x | x?x }. Is S?S? If S?S, then S is one of those objects x for which x?x. In other words, S?S By Reductio, we have S?S If S?S, then S is not one of those objects x for which x?x. In other words, S?S By Reductio, we have S?S We conclude that both S?S nor S?S Paradox! (There’s no assumption that we can blame, so we cannot Reductio again) Turn into exercise! See note about ZF in the earlier slide near the start of this module. Bertrand Russell was the guy who discovered this particular pathalogical example. The question of whether it is a member of itself is known as “Russell’s Paradox.”Turn into exercise! See note about ZF in the earlier slide near the start of this module. Bertrand Russell was the guy who discovered this particular pathalogical example. The question of whether it is a member of itself is known as “Russell’s Paradox.”

    28. 7/27/2012 Michael P. Frank / Kees van Deemter 28 To avoid inconsistency, set theory must somehow change Turn into exercise! See note about ZF in the earlier slide near the start of this module. Bertrand Russell was the guy who discovered this particular pathalogical example. The question of whether it is a member of itself is known as “Russell’s Paradox.”Turn into exercise! See note about ZF in the earlier slide near the start of this module. Bertrand Russell was the guy who discovered this particular pathalogical example. The question of whether it is a member of itself is known as “Russell’s Paradox.”

    29. 7/27/2012 Michael P. Frank / Kees van Deemter 29 ( 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. )

    30. 7/27/2012 Michael P. Frank / Kees van Deemter 30 Ordered n-tuples These are like sets, except that duplicates matter, and the order makes a difference. For n?N, an ordered n-tuple or a sequence of length n is written (a1, a2, …, an). Its first element is a1, etc. Note that (1, 2) ? (2, 1) ? (2, 1, 1). Empty sequence, singlets, pairs, triples, …, n-tuples. Sometimes people also define “bags”, which are unordered collections in which duplicates matter. If you have a bag of coins, they are in no particular order, but it matters how many coins of each type you have.Sometimes people also define “bags”, which are unordered collections in which duplicates matter. If you have a bag of coins, they are in no particular order, but it matters how many coins of each type you have.

    31. 7/27/2012 Michael P. Frank / Kees van Deemter 31 n-tuples have many applications. For example,

    32. 7/27/2012 Michael P. Frank / Kees van Deemter 32 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

    33. 7/27/2012 Michael P. Frank / Kees van Deemter 33 Cartesian Products of Sets For sets A, B, their Cartesian product A?B :? {(a, b) | a?A ? b?B }. E.g. {a,b}?{1,2} = {(a,1),(a,2),(b,1),(b,2)} {John,Mary,Ellen}x{News,Soap}= Usually AxBxC is defined as {(a,b,c) | a is in A and b is in B and c is in C}. Usually AxBxC is defined as {(a,b,c) | a is in A and b is in B and c is in C}.

    34. 7/27/2012 Michael P. Frank / Kees van Deemter 34 Cartesian Products of Sets For sets A, B, their Cartesian product A?B :? {(a, b) | a?A ? b?B }. 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 R?AxB Usually AxBxC is defined as {(a,b,c) | a is in A and b is in B and c is in C}. Usually AxBxC is defined as {(a,b,c) | a is in A and b is in B and c is in C}.

    35. 7/27/2012 Michael P. Frank / Kees van Deemter 35 Cartesian Products of Sets Note that for finite A, B, |A?B| = |A|.|B| the Cartesian product is not commutative: i.e., ??AB: A?B=B?A. notation extends naturally to A1 ? A2 ? … ? An Usually AxBxC is defined as {(a,b,c) | a is in A and b is in B and c is in C}. Usually AxBxC is defined as {(a,b,c) | a is in A and b is in B and c is in C}.

    36. 7/27/2012 Michael P. Frank / Kees van Deemter 36 Review of §1.6 Sets S, T, U… Special sets N, Z, R. Set notations {a,b,...}, {x|P(x)}… Set relation operators x?S, S?T, S?T, S=T, S?T, S?T. (These form propositions.) Finite vs. infinite sets. Set operations |S|, P(S), S?T. Next up: §1.5: More set ops: ?, ?, ?.

    37. 7/27/2012 Michael P. Frank / Kees van Deemter 37 Start §1.7: The Union Operator For sets A, B, their?nion A?B is the set containing all elements that are either in A, or (“?”) in B (or, of course, in both). Formally, ?A,B: A?B = {x | x?A ? x?B}. Note that A?B is a superset of both A and B (in fact, it is the smallest such superset): ?A, B: (A?B ? A) ? (A?B ? B)

    38. 7/27/2012 Michael P. Frank / Kees van Deemter 38 {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} Union Examples

    39. 7/27/2012 Michael P. Frank / Kees van Deemter 39 The Intersection Operator For sets A, B, their intersection A?B is the set containing all elements that are simultaneously in A and (“?”) in B. Formally, ?A,B: A?B={x | x?A ? x?B}. Note that A?B is a subset of both A and B (in fact it is the largest such subset): ?A, B: (A?B ? A) ? (A?B ? B)

    40. 7/27/2012 Michael P. Frank / Kees van Deemter 40 {a,b,c}?{2,3} = ___ {2,4,6}?{3,4,5} = ______ Intersection Examples

    41. 7/27/2012 Michael P. Frank / Kees van Deemter 41 Disjointness Two sets A, B are called disjoint (i.e., not joined) iff their intersection is empty. (A?B=?) Example: the set of even integers is disjoint with the set of odd integers.

    42. 7/27/2012 Michael P. Frank / Kees van Deemter 42 Inclusion-Exclusion Principle How many elements are in A?B? Can you think of a general formula? (Express in terms of |A| and |B| and whatever else you need.) We will see this basic counting principle again when we talk about combinatorics.We will see this basic counting principle again when we talk about combinatorics.

    43. 7/27/2012 Michael P. Frank / Kees van Deemter 43 Inclusion-Exclusion Principle How many elements are in A?B? |A?B| = |A| ? |B| ? |A?B| 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| = |I?M| = |I| ? |M| ? |I?M| We will see this basic counting principle again when we talk about combinatorics.We will see this basic counting principle again when we talk about combinatorics.

    44. 7/27/2012 Michael P. Frank / Kees van Deemter 44 Set Difference For sets A, B, the difference of A and B, written A?B, is the set of all elements that are in A but not B. Formally: A ? B :? ?x ? x?A ? x?B? Also called: The complement of B with respect to A. NOT (x in A -> x in B) = NOT (x not in A or x in B) (defn. of implies) = x in A AND x not in B (DeMorgan’s law).NOT (x in A -> x in B) = NOT (x not in A or x in B) (defn. of implies) = x in A AND x not in B (DeMorgan’s law).

    45. 7/27/2012 Michael P. Frank / Kees van Deemter 45 Set Difference Examples {1,2,3,4,5,6} ? {2,3,5,7,9,11} = ___________ 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}

    46. 7/27/2012 Michael P. Frank / Kees van Deemter 46 Set Difference - Venn Diagram A-B is what’s left after B “takes a bite out of A”

    47. 7/27/2012 Michael P. Frank / Kees van Deemter 47 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 A?U, the complement of A, written , is the complement of A w.r.t. U, i.e., it is U?A. E.g., If U=N,

    48. 7/27/2012 Michael P. Frank / Kees van Deemter 48 Set Identities A??

    49. 7/27/2012 Michael P. Frank / Kees van Deemter 49 Set Identities A?? = A A?U =

    50. 7/27/2012 Michael P. Frank / Kees van Deemter 50 Set Identities A?? = A A?U = A

    51. 7/27/2012 Michael P. Frank / Kees van Deemter 51 Set Identities A?? = A = A?U A?U = U A?? = ?

    52. 7/27/2012 Michael P. Frank / Kees van Deemter 52 Set Identities A?? = A = A?U A?U = U A?? = ? A?A = A = A?A A?B = B?A A?B = B?A A?(B?C)=(A?B)?C A?(B?C)=(A?B)?C

    53. 7/27/2012 Michael P. Frank / Kees van Deemter 53 Have you seen similar patterns before?

    54. 7/27/2012 Michael P. Frank / Kees van Deemter 54 Read: ?:= ?, ?:= ?, ?:=F, U:=T A?? = A = A?U A?U = U , A?? = ? A?A = A = A?A A?B = B?A , A?B = B?A A?(B?C)=(A?B)?C , A?(B?C)=(A?B)?C

    55. 7/27/2012 Michael P. Frank / Kees van Deemter 55 Set Identities (don’t worry about their names) Identity: A?? = A = A?U Domination: A?U = U , A?? = ? Idempotent: A?A = A = A?A Double complement: Commutative: A?B = B?A , A?B = B?A Associative: A?(B?C)=(A?B)?C , A?(B?C)=(A?B)?C

    56. 7/27/2012 Michael P. Frank / Kees van Deemter 56 DeMorgan’s Law for Sets Exactly analogous to (and provable from) DeMorgan’s Law for propositions.

    57. 7/27/2012 Michael P. Frank / Kees van Deemter 57 ( 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. )

    58. 7/27/2012 Michael P. Frank / Kees van Deemter 58 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. A membership table is like a truth table.A membership table is like a truth table.

    59. 7/27/2012 Michael P. Frank / Kees van Deemter 59 Method 2: Mutual subsets Example: Show A?(B?C)=(A?B)?(A?C).

    60. 7/27/2012 Michael P. Frank / Kees van Deemter 60 Method 2: Mutual subsets Example: Show A?(B?C)=(A?B)?(A?C). Part 1: Show A?(B?C)?(A?B)?(A?C). Assume x?A?(B?C), & show x?(A?B)?(A?C). We know that x?A, and either x?B or x?C. Case 1: x?B. Then x?A?B, so x?(A?B)?(A?C). Case 2: x?C. Then x?A?C , so x?(A?B)?(A?C). Therefore, x?(A?B)?(A?C). Therefore, A?(B?C)?(A?B)?(A?C). Part 2: Show (A?B)?(A?C) ? A?(B?C). (analogous)

    61. 7/27/2012 Michael P. Frank / Kees van Deemter 61 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?(B?C)?(A?B)?(A?C). Suppose x?A ? (x?B ? x?C). Prove (x?A ? x?B) ? (x?A ? x?C).

    62. 7/27/2012 Michael P. Frank / Kees van Deemter 62 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.

    63. 7/27/2012 Michael P. Frank / Kees van Deemter 63 Membership Table Example Prove (A?B)?B = A?B. There are 4 basic kinds of elements (i.e.,basic regions of the Venn diagram): the ones that are in neither A nor B, the ones that are in B but not A, etc. Everything analogous to truth tables, but based on the different regions of a Venn diagram. The proof shows that the two formulas cover the same basic regions of the diagram, That is, the same kinds of objects.There are 4 basic kinds of elements (i.e.,basic regions of the Venn diagram): the ones that are in neither A nor B, the ones that are in B but not A, etc. Everything analogous to truth tables, but based on the different regions of a Venn diagram. The proof shows that the two formulas cover the same basic regions of the diagram, That is, the same kinds of objects.

    64. 7/27/2012 Michael P. Frank / Kees van Deemter 64 Membership Table Exercise Prove (A?B)?C = (A?C)?(B?C).

    65. 7/27/2012 Michael P. Frank / Kees van Deemter 65 Membership Table Exercise Prove (A?B)?C = (A?C)?(B?C).

    66. 7/27/2012 Michael P. Frank / Kees van Deemter 66 Membership Table Exercise Prove (A?B)?C = (A?C)?(B?C).

    67. 7/27/2012 Michael P. Frank / Kees van Deemter 67 Membership Table Exercise Prove (A?B)?C = (A?C)?(B?C).

    68. 7/27/2012 Michael P. Frank / Kees van Deemter 68 Review of §1.6-1.7 Sets S, T, U… Special sets N, Z, R. Set notations {a,b,...}, {x|P(x)}… Relations x?S, S?T, S?T, S=T, S?T, S?T. Operations |S|, P(S), ?, ?, ?, ?, Set equality proof techniques

    69. 7/27/2012 Michael P. Frank / Kees van Deemter 69 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)

    70. 7/27/2012 Michael P. Frank / Kees van Deemter 70 Generalized Union Binary union operator: A?B n-ary union: A1?A2?…?An :? ((…((A1? A2) ?…)? An) (grouping & order is irrelevant) “Big U” notation: Or for infinite sets of sets:

    71. 7/27/2012 Michael P. Frank / Kees van Deemter 71 Generalized Intersection Binary intersection operator: A?B n-ary intersection: A1?A2?…?An?((…((A1?A2)?…)?An) (grouping & order is irrelevant) “Big Arch” notation: Or for infinite sets of sets:

    72. 7/27/2012 Michael P. Frank / Kees van Deemter 72 (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?

    73. 7/27/2012 Michael P. Frank / Kees van Deemter 73 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 = {?,{?},{?,{?}}}

    74. 7/27/2012 Michael P. Frank / Kees van Deemter 74 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. )

    75. 7/27/2012 Michael P. Frank / Kees van Deemter 75 Representing Sets with Bit Strings For an enumerable u.d. U with ordering x1, x2, …, represent a finite set S?U as the finite bit string B=b1b2…bn where ?i: xi?S ? (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! So, for example, on a 64-bit processor, using just a single machine-language instruction you can calculate the union or intersection of two sets out of a universe of discourse having up to 64 elements. This leads to an extremely fast way of doing complicated calculations on small sets. It is not a good method for large, sparsely populated sets, because searching the bit string to find which bits are “1” can take a long time.So, for example, on a 64-bit processor, using just a single machine-language instruction you can calculate the union or intersection of two sets out of a universe of discourse having up to 64 elements. This leads to an extremely fast way of doing complicated calculations on small sets. It is not a good method for large, sparsely populated sets, because searching the bit string to find which bits are “1” can take a long time.

    76. 7/27/2012 Michael P. Frank / Kees van Deemter 76 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 So, for example, on a 64-bit processor, using just a single machine-language instruction you can calculate the union or intersection of two sets out of a universe of discourse having up to 64 elements. This leads to an extremely fast way of doing complicated calculations on small sets. It is not a good method for large, sparsely populated sets, because searching the bit string to find which bits are “1” can take a long time.So, for example, on a 64-bit processor, using just a single machine-language instruction you can calculate the union or intersection of two sets out of a universe of discourse having up to 64 elements. This leads to an extremely fast way of doing complicated calculations on small sets. It is not a good method for large, sparsely populated sets, because searching the bit string to find which bits are “1” can take a long time.

    77. 7/27/2012 Michael P. Frank / Kees van Deemter 77 We now know enough about sets to move on to relations between sets, and functions from one set to another

More Related