Homework 11
Last updated: Mon, 24 Nov 2025 11:18:20 -0500
Out: Mon Nov 17, 12:00pm EDT (noon) Due: Mon Nov 24, 12:00pm EDT (noon)
Note: Assignments are not officially "released" until—
and are subject to change without notice up to— the indicated "Out" date and time. If an assignment is posted early, students may look ahead but are responsible for ensuring that they are always working with the most recent version of the homework.
This assignment explores the topic of undecidability.
Homework Problems
Counting to Infinity? (4 + 8 = 12 points)
Not Counting to Infinity? (5 + 10 = 15 points)
Sipser is Undecidable? (15 points)
Sipser Helps Prove Undecidability? (15 points)
README (3 point)
Total: 60 points
Submitting
Submit your solution to this assignment in Gradescope hw11. Please assign each page to the correct problem and make sure your solutions are legible.
A submission must also include a README containing the required information.
1 Counting to Infinity?
In class, we learned about how infinite sets can have different sizes. Specifically, they can be either countable or uncountable.
As usual, a big part of solving the hws in this course is to make sure to first understand the question. And big part of understanding the question is understanding the terminology used in the problem description. So for the first part of this question, give the definition from class for what it means for a set to be countably infinite. Don’t proceed to the next part of the problem until you understand this definition. (Also, a definition from another class or book or website will not be accepted.)
Use the definition above to show that the set of all "Python" programs is countably infinite. To make this easier for you, you may assume that "Python" programs are strings created from the following simplified alphabet: \left\{\texttt{if},\texttt{then},\texttt{else}\right\}
2 Not Counting to Infinity?
Give the definition from class for what it means to be uncountably infinite. Like the previous problem, don’t proceed to the next part until you understand the definition and how to apply it. (Also, a definition from another class or book or website will not be accepted.)
Many scientists believe that the universe is infinite in size. Thus, define some infinite set U = \left\{x_0,x_1,\ldots\right\} that represents all the celestial bodies, e.g., stars and planets, in the universe. Now assume that the universe can be represented as a sequence of all the x_i\in U such that they are in order of their distance from the Earth, starting with the closest.
Now assume there are multiple different universes (as Hollywood has shown us) where each universe contains the same infinite set of celestial bodies U, just arranged in a different order.
Prove that the set of all such universes is uncountably infinite. Use diagonalization and proof by contradiction (of course, make sure to understand these concepts before trying the proof).
3 Sipser is Undecidable?
Prove that the following language is undecidable:
\textit{SIP} = \left\{\left\langle M\right\rangle\mid M\textrm{ is a \textsf{TM} where }\texttt{Sipser}\in L(M)\right\}
Your proof should be a proof by contradiction and should reduce from E_TM A_\textsf{TM}. It should also use the "modify the TM" technique from class. (You may not use Rice’s theorem in this problem.)
Remember, if the proof requires constructing a decider, even for the purposes of contradiction, all the rules for constructing deciders (e.g., termination arguments) still apply. If the proof includes a statement "machine X decides language L", even if just for the purposes of creating a contradiction, then it must be justified with an Examples Table.
4 Sipser Helps Prove Undecidability?
Now let’s go the other way. Re-prove that E_\textsf{TM} is undecidable (so obviously you can’t assume that it’s already proven.)
Your proof must reduce from the undecidable \textit{SIP} language from the Sipser is Undecidable? problem. (You may assume that the \textit{SIP} language is undecidable, even if you were unable to answer the earlier questions.)
Your proof should be a proof by contradiction. It should also use the "modify the TM" technique from class. (You may not use Rice’s theorem in this problem.)
Remember, if the proof requires constructing a decider, even for the purposes of contradiction, all the rules for constructing deciders (e.g., termination arguments) still apply. If the proof includes a statement "machine X decides language L", even if just for the purposes of creating a contradiction, then it must be justified with an Examples Table.