Week 7 - Wednesday.  What did we talk about last time?  Set proofs and disproofs  Russell’s paradox.

Presentation on theme: "Week 7 - Wednesday.  What did we talk about last time?  Set proofs and disproofs  Russell’s paradox."— Presentation transcript:

Week 7 - Wednesday

 What did we talk about last time?  Set proofs and disproofs  Russell’s paradox

 Imagine you are in a completely dark room with a deck of cards containing 10 cards that are face up and the rest face down  How can you create two piles of cards (not necessarily the same height) that both contain the same number of face up cards?  If you fail, you'll be eaten by a grue

 Prove that, for any set A, A   =   Hint: Use a proof by contradiction

 For all sets A, B, and C, if A  B and B  C, then A  C

 For all sets A and B, ((A c  B c ) – A) c = A

 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 n th prime number  Without some careful rules, we can begin to define sets that are not well-defined

 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?

 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?

 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

 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

 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 1011110000 A A

 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

 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

 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)?

 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

 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

Student Lecture

 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 }

 Using standard assumptions, consider f(x) = x 2  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?

 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 abcabc abcabc 12341234 12341234 XYf

 Which of the following are functions from X to Y? abcabc abcabc 12341234 12341234 XYf abcabc abcabc 12341234 12341234 XYg abcabc abcabc 12341234 12341234 XYh

 Given two functions f and g from X to Y,  f equals g, written f = g, iff:  f(x) = g(x) for all x  X  Let f(x) = |x| and g(x) =  Does f = g?  Let f(x) = x and g(x) = 1/(1/x)  Does f = g?

 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

 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:  log b x = y  b y = x

 For a function of multiple values, we can define its domain to be the Cartesian product of sets  Let S n 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: S n x S n  Z nonneg  What is H(00101, 01110)?  What is H(10001, 01111)?

 There are two ways in which a function can be poorly defined  It does not provide a mapping for every value in the domain  Example: f: R  R such that f(x) = 1/x  It provides more than one mapping for some value in the domain  Example: f: Q  Z such that f(m/n) = m, where m and n are the integers representing the rational number

 Let F be a function from X to Y  F is one-to-one (or injective) if and only if:  If F(x 1 ) = F(x 2 ) then x 1 = x 2  Is f(x) = x 2 from Z to Z one-to-one?  Is f(x) = x 2 from Z + to Z one-to-one?  Is h(x) one-to-one? abcabc abcabc 12341234 12341234 XYh

 To prove that f from X to Y is one-to-one, prove that  x 1, x 2  X, f(x 1 ) = f(x 2 )  x 1 = x 2  To disprove, just find a counter example  Prove that f: R  R defined by f(x) = 4x – 1 is one-to-one  Prove that g: Z  Z defined by g(n) = n 2 is not one-to-one

 Let F be a function from X to Y  F is onto (or surjective) if and only if:   y  Y,  x  X such that F(x) = y  Is f(x) = x 2 from Z to Z onto?  Is f(x) = x 2 from R + to R + onto?  Is h(x) onto? abcabc abcabc 123123 123123 XYh

 If a function F: X  Y is both one-to-one and onto (bijective), then there is an inverse function F -1 : Y  X such that:  F -1 (y) = x  F(x) = y, for all x  X and y  Y

 More on functions  One to one and onto  Cardinality

 Work on Homework 5  Due the Monday after Spring Break  Keep reading Chapter 7