Computer Science 60
Principles of Computer Science
Fall 2009


Assignment 12: Proofs of Uncomputability!
Due Tuesday, December 1 at 11:59 PM

What to submit

Please submit your two proofs electronically.  You can use plan text, .pdf or .doc format, whichever is easiest, but PDF if preferred.  If you choose to use a non-pdf format, you'll have to submit your files as support files.  Please name your files problem1.pdf and problem2.pdf (change the extension to match the type of file you submit).

Setup: Millisoft!

You have been hired by Millisoft, a large software company with numerous famous products that include Millisoft Sentence (word processing software), Succeed (a spreadsheet program), Energydot (presentation software), among others.

Your boss, Gill Bates, drops by your spacious cubicle sipping a refreshing and stimulating Jolt Cola ("All the sugar, and twice the caffeine!"). Gill begins by reminding you that a decider is a program that takes an input and eventually halts and accepts (says "yes" to its inputs) or rejects (says "no" to its input). For example, a decider for the prime numbers would take a number, perhaps encoded in binary, as input and would eventually halt saying "yes" (it's prime) or "no" (it's not prime).

Note: The idea in both of these problems is similar to the examples we did in which we reached a contradiction by creating a halt-checker out of the program that we hope to prove uncomputable. In this case, you'll want to create a halt-checker from a POTDT and a RC. Keep in mind that you can build any function/program/machine you like in order to coax the POTDT and RC into deciding whether a program P halts on an input w.