Further Reading: Computability and the Halting Problem
Annotated pointers for going deeper. Start with the core textbook treatments to firm up the model and the proof, then branch toward the history (where these ideas came from), the broader theory (Rice's theorem, the arithmetical hierarchy), or the engineering payoff (why your tools are necessarily imperfect). All sources are Tier 1 (canonical, verifiable) or Tier 2 (a real, attributable result whose exact edition you should confirm yourself).
Core textbook treatments
Sipser, Introduction to the Theory of Computation (3rd ed.), Chapters 3–5. (Tier 1.) The standard modern reference for exactly this chapter. Chapter 3 builds the Turing machine and the Church–Turing thesis; Chapter 4 develops decidability and proves the halting problem undecidable by the same diagonalization-and-contradiction argument we used; Chapter 5 is the definitive treatment of reductions and undecidable problems (including the Post Correspondence Problem and Rice's theorem). If you read one book after this chapter, read these three chapters.
Lehman, Leighton & Meyer, Mathematics for Computer Science (MIT 6.042J), the computability/countability material. (Tier 1, freely available.) The most CS-flavored, proof-forward presentation, and a natural continuation of this book's voice. Its treatment ties undecidability back to the same countable-vs-uncountable counting argument you met in Chapter 10, reinforcing the "existence by counting, then name one by diagonalization" arc.
Rosen, Discrete Mathematics and Its Applications (8th ed.), the sections on Turing machines and computability. (Tier 1.) A gentler, more example-driven on-ramp than Sipser, at the level of this book. Good for extra worked traces of small Turing machines and a careful, slow statement of the halting result if Sipser's pace feels fast.
On the original ideas and their history
Turing, "On Computable Numbers, with an Application to the Entscheidungsproblem" (1936). (Tier 1.) The founding paper: it introduces the machine, the universal machine, and the undecidability argument, all before any electronic computer existed. Dense by modern standards, but reading even the first few sections is a remarkable experience — the entire field in embryo. Pair it with a modern commentary.
Hodges, Alan Turing: The Enigma. (Tier 1.) The definitive biography (and source of this chapter's epigraph). Chapter-length context on why Turing was attacking the decision problem and what it meant to formalize "mechanical procedure" in 1936. Reads as narrative, not mathematics — excellent for the "where did this come from?" question.
Petzold, The Annotated Turing. (Tier 2 — a real, well-regarded book; confirm the edition.) A line-by-line walk through Turing's 1936 paper with the missing background filled in. The single most approachable way to actually read the original argument. Recommended if the primary source alone is too terse.
Going deeper into the theory
Sipser, Introduction to the Theory of Computation, §5.1 (Rice's theorem) and the advanced recursion material. (Tier 1.) Rice's theorem — every nontrivial semantic property of programs is undecidable — is the Deep Dive this chapter points to. Sipser's proof is a clean reduction from the halting problem, exactly in the EMPTY template of §36.5. Read it to see how one theorem topples an entire family of program-analysis questions.
Davis (ed.), The Undecidable. (Tier 1.) A collection of the foundational papers (Turing, Church, Gödel, Post, Kleene, and others). The place to go once you want the primary sources for the convergence of models that underwrites the Church–Turing thesis (§36.2). Best read after Sipser, when you can navigate the historical notation.
Matiyasevich, Hilbert's Tenth Problem. (Tier 2 — a real monograph on the celebrated 1970 result; verify details.) The full story of one of the most surprising undecidable problems: no algorithm decides whether a polynomial equation has an integer solution. The chapter mentions it in passing (the Davis–Putnam–Robinson–Matiyasevich line of work); this is where to follow it up. Mathematically demanding.
On the engineering consequences
Cormen, Leiserson, Rivest & Stein (CLRS), Introduction to Algorithms (4th ed.), the chapter on NP-completeness. (Tier 1.) Not about undecidability, but the natural next boundary (Chapter 37): it reuses reductions to classify problems by intractability rather than impossibility. Read its opening to see the same proof technique you learned here, with a polynomial-time budget added to the transformation.
"Static program analysis" — any of the standard surveys/lecture notes by Møller & Schwartzbach (Static Program Analysis, freely available lecture notes). (Tier 2 — real, widely used notes; confirm the current version.) The practical face of §36.6: how real analyzers cope with undecidability by computing sound approximations (abstract interpretation), deliberately erring on one side. The best free resource for "so what do tool-builders actually do about Rice's theorem?"
Videos and visual intuition
Computerphile, the halting-problem and Turing-machine explainers (YouTube). (Tier 2, free.) Short, accessible video treatments of the halting argument and the Turing machine model, several featuring working theorists. Good for re-grounding the proof's shape (assume a checker, build the contrarian program) before tackling Sipser's formal version.
Suggested order
- Re-read §§36.1–36.4 here, then read Sipser Chapters 3–4 for the rigorous version of the model and the halting proof.
- Read the MIT 6.042J computability material to reconnect undecidability with Chapter 10's counting.
- For history and motivation, read Hodges (narrative) and then Petzold alongside Turing's 1936 paper.
- For the theory's reach, study Sipser §5.1 (Rice's theorem) and Chapter 36's reduction exercises.
- Save Matiyasevich and Davis's The Undecidable for after you are fluent with reductions.
- Read Møller & Schwartzbach and the CLRS NP-completeness opening to connect §36.6 to real tools and to Chapter 37's inner boundary.