580 likes | 727 Views
In this week's CS322 discussion, we revisit vital concepts in set theory, starting with a logical warm-up involving a card bet that frames our understanding of probability. We review operations on sets, including union, intersection, and difference, and explore the power set and Cartesian product. Fundamental properties such as subset relations and proving set equivalences are also examined to solidify comprehension. Through examples and logical proofs, students will gain a robust understanding of set theory's applications in computer science.
E N D
Week 7 - Monday CS322
Last time • What did we talk about last time? • Sets
Logical warmup • A man offers you a bet • He shows you three cards • One is red on both sides • One is green on both sides • One is red on one side and green on the other • He will put one of the cards, at random, on the table • If you can guess the color on the other side, you win • If you bet $100 • You gain $125 on a win • You lose your $100 on a loss • Should you take the bet? Why or why not?
Set operations • We usually discuss sets within some superset U called the universe of discourse • Assume that A and B are subsets of U • The union of A and B, written A B is the set of all elements of U that are in either AorB • The intersection of A and B, written A B is the set of all elements of U that are in AandB • The difference of B minus A, written B – A, is the set of all elements of U that are in B and not in A • The complement of A, written Ac is the set of all elements of U that are not in A
Examples • Let U = {a, b, c, d, e, f, g} • Let A = {a, c, e, g} • Let B = {d, e, f, g} • What are: • A B • A B • B – A • Ac
The empty set • There is a set with no elements in it called the empty set • We can write the empty set { } or • It comes up very often • For example, {1, 3, 5} {2, 4, 6} = • The empty set is a subset of every other set (including the empty set)
Disjoint sets and partitions • Two sets A and B are considered disjoint if A B = • Sets A1, A2, … An are mutually disjoint (or nonoverlapping) if Ai Aj = for all i j • A collection of nonempty sets {A1, A2, … An} is a partition of set Aiff: • A = A1 A2 … An • A1, A2, … An are mutually disjoint
Power set • Given a set A, the power set of A, writtenP(A) or 2A is the set of all subsets of A • Example: B = {1, 3, 6} • P(B) = {, {1}, {3}, {6}, {1,3}, {1,6}, {3,6}, {1,3,6}} • Let n be the number of elements in A, called the cardinality of A • Then, the cardinality of P(A) is 2n
Cartesian product • An ordered n-tuple (x1, x2, … xn) is an ordered sequence of n elements, not necessarily from the same set • The Cartesian product of sets A and B, written A x B is the set of all ordered 2-tuples of the form (a, b), a A, b B • Thus, (x, y) points are elements of the Cartesian product R x R (sometimes written R2)
Basic subset relations • Inclusion of Intersection: • For all sets A and B • A B A • A B B • Inclusion in Union: • For all sets A and B • A A B • B A B • Transitive Property of Subsets: • If A B and B C, then A C
Element argument • The basic way to prove that X is a subset of Y • Suppose that x is a particular but arbitrarily chosen element of X • Show that x is an element of Y • If every element in X must be in Y, by definition, X is a subset of Y
Procedural versions • We want to leverage the techniques we've already used in logic and proofs • The following definitions help with this goal: • x X Y x X x Y • x X Y x X x Y • x X – Y x X x Y • x Xc x X • (x, y) X Y x X y Y
Example proof Theorem: For all sets A and B, A B A Proof: • Let x be some element in A B • x A x B • x A • Thus, all elements in A B are in A • A B A QED • Premise • Definition of intersection • Specialization • By generalization • Definition of subset
Proving set equivalence • To prove that X = Y • Prove that X Y and • Prove that Y X
Example proof of equivalence Theorem: For all sets A,B, and C, A (B C) = (A B) (A C) Proof: • Let x be some element in A (B C) • x A x (B C) • Case 1: Let x A • x A x B • x A B • x A x C • x A C • x A B x A C • x (A B) (A C) • Case 2: Let x B C • x B x C • x B • x A x B • x A B • x C • x A x C • x A C • x A B x A C • x (A B) (A C) • In all possible cases, x (A B) (A C), thus A (B C) (A B) (A C)
Proof of equivalence continued • Let x be some element in (A B) (A C) • x (A B) x (A C) • Case 1: Let x A • x A x B C • x A (B C) • Case 2: Let x A • x A B • x A x B • x B • x A C • x A x C • x C • x B x C • x B C • x A x B C • x A (B C) • In all possible cases, x A (B C), thus (A B) (A C) A (B C) • Since both A (B C) (A B) (A C) and (A B) (A C) A (B C), A (B C) = (A B) (A C) QED
Proof example • Prove that, for any set A, A = • Hint: Use a proof by contradiction
Disproving a set property • Like any disproof for a universal statement, you must find a counterexample to disprove a set property • For set properties, the counterexample must be a specific examples of sets for each set in the claim
Counterexample example • Claim: For all sets A, B, and C, (A – B) (B – C) = A – C • Find a counterexample
Algebraic set identities • We can use the laws of set identities given before to prove a statement of set theory • Be extremely careful (even more careful than with propositional logic) to use the law exactly as stated
Algebraic set identity example Theorem:A – (A B) = A – B Proof: • A – (A B) = A (A B) c • = A (Ac B c) • =(A Ac) (A B c) • = (A B c) • = A B c • = A – B QED
Prove or disprove • For all sets A, B, and C, if AB and BC, then AC
Prove or disprove • For all sets A and B, ((Ac Bc) – A)c = A
Naïve set theory • Set theory is a slippery slope • We are able to talk about very abstract concepts • { x Z | x is prime } • This is a well-defined set, even though there are an infinite number of primes and we don't know how to find the nth prime number • Without some careful rules, we can begin to define sets that are not well-defined
Barber Paradox • Let a barber be the man in Elizabethtown who shaves the men in Elizabethtown if and only if they don't shave themselves. • Let T be the set of all men in Elizabethtown • Let B(x) be "x is a barber" • Let S(x,y) be "x shaves y" • b T m T (B(b) (S(b,m) ~S(m,m))) • But, who shaves the barber?
Russell's Paradox • Bertrand Russell invented the Barber Paradox to explain to normal people a problem he had found in set theory • Most sets are not elements of themselves • So, it seems reasonable to create a set S that is the set of all sets that are not elements of themselves • More formally, S = { A | A is a set and A A } • But, is S an element of itself?
Escaping the paradox • How do we make sure that this paradox cannot happen in set theory? • We can make rules about what sets we allow in or not • The rule that we use in class is that all sets must be subsets of a defined universe U • Higher level set theory has a number of different frameworks for defining a useful universe
Applying the idea again • It turns out that the idea behind Russell's Paradox actually has practical implications • It wasn't new, either • Cantor had previously used a diagonal argument to show that there are more real numbers than rational numbers • But, unexpectedly, Turing found an application of this idea for computing
Turing machine • A Turing machine is a mathematical model for computation • It consists of a head, an infinitely long tape, a set of possible states, and an alphabet of characters that can be written on the tape • A list of rules saying what it should write and should it move left or right given the current symbol and state A
Church-Turing thesis • If an algorithm exists, a Turing machine can perform that algorithm • In essence, a Turing machine is the most powerful model we have of computation • Power, in this sense, means the ability to compute some function, not the speed associated with its computation
Halting problem • Given a Turing machine and input x, does it reach the halt state? • First, recognize that we can encode a Turing machine as input for another Turing machine • We just have to design a system to describe the rules, the states, etc. • We want to design a Turing machine that can read another
Halting problem problems • Imagine we have a Turing machine H(m,x) that takes the description of another Turing machine m and its input x and returns 1 if m halts on input x and 0 otherwise • Now, construct a machine H’(m,x) that runs H(m,x), but, if H(m,x) gives 1, then H’(m,x) infinitely loops, and, if H(m,x) gives 0, then then H’(m,x) returns 1 • Let’s say that d is the description of H’(m,x) • What happens when you run H’(d,d)?
Halting problem conclusion • Clearly, a Turing machine that solves the halting problem doesn’t exist • Essentially, the problem of deciding if a problem is computable is itself uncomputable • Therefore, there are some problems (called undecidable) for which there is no algorithm • Not an algorithm that will take a long time, but no algorithm • If we find such a problem, we are stuck • …unless someone can invent a more powerful model of computation
And it gets worse! • Gödel used diagonalization again to prove that it is impossible to create a consistent set of axioms that can prove everything about the set of natural numbers • As a consequence, you can create a system that is complete but not consistent • Or, you can create a system that is consistent but not complete • Either way, there are principles in math in general that are true but impossible to prove, at least with any given system • You might as well give up on math now
Definitions • A function f from set X to set Y is a relation between elements of X (inputs) and elements of Y (outputs) such that each input is related to exactly one output • We write f: X Y to indicate this • X is called the domain of f • Y is called the co-domain of f • The range of f is { y Y | y = f(x), for some x X} • The inverse image of y is { x X | f(x) = y }
Examples • Using standard assumptions, consider f(x) = x2 • What is the domain? • What is the co-domain? • What is the range? • What is f(3.2)? • What is the inverse image of 4? • Assume that the set of positive integers is the domain and co-domain • What is the range? • What is f(3.2)? • What is the inverse image of 4?
Arrow diagrams • With finite domains and co-domains, we can define a function using an arrow diagram • What is the domain? • What is the co-domain? • What are f(a), f(b), and f(c)? • What is the range? • What are the inverse images of 1, 2, 3, and 4? • Represent f as a set of ordered pairs X f Y 1 2 3 4 a b c
Functions? • Which of the following are functions from X to Y? X f Y 1 2 3 4 a b c X g Y X h Y 1 2 3 4 1 2 3 4 a b c a b c
Function equality • Given two functions f and g from X to Y, • f equals g, written f = g, iff: • f(x) = g(x) for all xX • Let f(x) = |x| and g(x) = • Does f = g? • Let f(x) = x and g(x) = 1/(1/x) • Does f = g?
Applicability of functions • Functions can be defined from any well-defined set to any other • There is an identity function from any set to itself • We can represent a sequence as a function from a range of integers to the values of the sequence • We can create a function mapping from sets to integers, for example, giving the cardinality of certain sets
Logarithms • You should know this already • But, this is the official place where it should be covered formally • There is a function called the logarithm with base b of x defined from R+ to R as follows: • logbx = y by = x
Functions defined on Cartesian products • For a function of multiple values, we can define its domain to be the Cartesian product of sets • Let Sn be strings of 1's and 0's of length n • An important CS concept is Hamming distance • Hamming distance takes two binary strings of length n and gives the number of places where they differ • Let Hamming distance be H: Sn x Sn Znonneg • What is H(00101, 01110)? • What is H(10001, 01111)?