Did Turing prove the undecidability of the halting problem?

Scope of Turing’s 1936 Result

  • Thread agrees Turing did not use “halt” or “halting problem” terminology.
  • His paper focused on “computable numbers” and notions like “circular” vs “circle‑free” machines and a “symbol‑printing problem.”
  • Later authors introduced the modern “halting problem” name; the thread cites mid‑20th‑century textbooks and earlier work (e.g., on self‑reference) as historical precursors.
  • Several commenters say the symbol‑printing problem is computably equivalent to the halting problem, so substantively Turing proved an equivalent result even if the framing differed.

Symbol‑Printing, Circularity, and Halting

  • Circular: prints only finitely many “symbols of the first kind” (0/1); circle‑free: prints infinitely many.
  • It’s noted this is not exactly the same as “halts/doesn’t halt,” and the mapping between circularity and halting is subtle.
  • One commenter initially claims equivalence is “elementary,” then walks that back after realizing tape contents complicate converting a non‑circular machine into a halting one.
  • Others highlight that Turing also proved undecidability of “will the machine ever print symbol X?”, which is easily turned into a modern halting formulation.

Rice’s Theorem and Practical Verification

  • Rice’s theorem is invoked: undecidability of halting is essentially equivalent to undecidability of any non‑trivial semantic property.
  • Pushback: undecidability is about general algorithms over all programs; many real programs or restricted languages can be proven to halt or satisfy properties.
  • Discussion of total languages and proof assistants: they enforce termination or totality (often via structural recursion or well‑founded measures), at the cost of expressiveness.
  • Debate over whether such subsets are “non–Turing complete” and whether “subset of instances” vs “subset of language” are conceptually distinct.

Quantum Computing and Computability

  • One commenter claims “theoretical quantum computers” could decide halting; multiple replies say this is false.
  • Others state quantum computers are not more powerful than classical ones in what they can compute; they mainly offer speedups for some problems.
  • Several insist: undecidability of halting is about computability, not complexity, so quantum speedups don’t change it.

Decidability for Individual Programs and Gödel Connections

  • Some argue “figuring out whether a single given program halts is decidable” in principle; others counter that “decidable” is defined for sets/languages, not single instances.
  • Clarified distinction:
    • For any specific program, it either halts or not, but we may lack an effective decision procedure within a fixed formal system.
    • There exist programs whose non‑termination is true but unprovable in systems like PA or ZFC (via Gödel‑style constructions).
  • Examples: Turing machines encoding Goldbach conjecture, Collatz, or proof‑search for contradictions in ZFC.
  • Some emphasize that “knowing the answer” to one specific case (even by a trivial constant function) is different from having a generally useful decision algorithm.

Busy Beaver and Complexity of Simple Machines

  • Busy Beaver work is used to show how tiny Turing machines can have extremely complex, hard‑to‑analyze behavior.
  • References to:
    • Many 5‑state binary machines historically undecided.
    • Recent breakthroughs on the 5‑state Busy Beaver and appearance of machines emulating Collatz‑like dynamics.
  • This is presented as practical evidence that even very small systems can be beyond current analytic techniques.

Constructivism and the Reality of Reals

  • Side discussion questions the ontological status of real numbers:
    • Some favor constructivist/computable views: only numbers definable or computable “exist” in a meaningful sense.
    • Others defend standard reals, arguing that mathematics lets us reason about unnameable or uncomputable objects.
  • Debate touches on least upper bounds for sets of rationals, countability arguments, and the role of decision procedures in defining sets.
  • No consensus; it’s acknowledged this is a long‑standing philosophical divide in foundations.

Understanding and Teaching the Halting Problem

  • Several note confusion when first encountering Turing’s terminology (“circle‑free” vs “halts”) and appreciate the linked paper’s clarification.
  • Some express frustration with oversimplified pedagogy that states “you can’t tell if a program halts” without emphasizing “for all arbitrary programs with one general algorithm.”
  • Others remark on the broader significance: the halting problem exemplifies inherently unsolvable computational questions, yet still coexists with extensive, useful formal verification in practice.

Broader Analogies and Reflections

  • One commenter draws an analogy to moral philosophy: just as no algorithm decides halting for all programs, no finite moral rule set can perfectly handle all situations.
  • Another points to Turing’s original paper also containing early notions of universality and “bugs,” suggesting the modern focus on “halting” misses other historical gems.
  • The thread contains both praise for the paper’s nuanced historical analysis and dismissive reactions calling it “click‑bait,” with some later softening after closer reading.