Unsolvability Problems
Every Turing machine is equivalent to some other machine in our enumeration. Why? How many other machines is each machine equivalent to? How many times is each Turing-computable function represented in our enumeration? Be sure to justify your answers.
Prove that there exist more real numbers between zero and one than there are integers.
Any Turing machine may have an infinite number of different outputs. (One for each input.) Exactly how many machines do? Suppose we had a list of triples <k, x, z> where z is the output of Turing machine k on input x. How many items would be on our list?
Some infinite sequences of zeros and ones (such as 1010101... or 1101001000...) are not too difficult to compute. In fact, we could design Turing machines which compute them. Are there any binary sequences which cannot be computed by Turing machines? Why?
Consider the machine which receives x as input and simulates Turing machine number x in our standard enumeration until it wishes to halt. This machine then adds one to the result and halts. In other words, we are examining the machine:
M(x) = Mx(x) + 1.
What happens when this machine receives its own index as input?
Universal Machines and Simulation
State and prove an s-m-n theorem for programs.
Describe how the universal Turing machine locates a particular instruction on its description tape.
Show that the class of sets accepted by Turing machines is closed under union. (HINT: do not copy the intersection proof.)
We know that we can transform Turing machines into programs. In particular, we can find a program equivalent to the universal Turing machine. Design (in the NICE language) a program named P such that:
Pu(i, x) = Mi(x)
for every Turing machine M and input x.