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

Preview:

Citation preview

CS322Week 7 - Wednesday

Last time

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

Questions?

Logical warmup

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

Proof example

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

Prove or disprove

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

Prove or disprove

For all sets A and B, ((Ac Bc) – A)c = A

Russell's Paradox

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

Halting Problem

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

1 0 1 1 1 1 0 0 0 0

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

FunctionsStudent Lecture

Functions

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

a

b

c

1

2

3

4

X Yf

Functions?

Which of the following are functions from X to Y?

a

b

c

1234

X Yf

a

b

c

1234

X Yg

a

b

c

1234

X Yh

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

2x

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: logb x = 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)?

Well-defined functions

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

One-to-one functions

Let F be a function from X to YF is one-to-one (or injective) if and

only if: If F(x1) = F(x2) then x1 = x2

Is f(x) = x2 from Z to Z one-to-one? Is f(x) = x2 from Z+ to Z one-to-one? Is h(x) one-to-one?

a

b

c

1234

X Yh

Proving one-to-one

To prove that f from X to Y is one-to-one, prove that x1, x2 X, f(x1) = f(x2) x1 = x2

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) = n2 is not one-to-one

Onto functions

Let F be a function from X to YF is onto (or surjective) if and only

if: y Y, x X such that F(x) = y

Is f(x) = x2 from Z to Z onto? Is f(x) = x2 from R+ to R+ onto? Is h(x) onto?

a

b

c

123

X Yh

Inverse functions

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

Quiz

Upcoming

Next time…

More on functions One to one and onto Cardinality

Reminders

Work on Homework 5 Due the Monday after Spring Break

Keep reading Chapter 7

Recommended