4.6.15 · D5Theory of Computation
Question bank — Church-Turing thesis
A quick vocabulary anchor so nothing below is a surprise:



True or false — justify
CTT is a theorem that has been formally proven.
False. One side ("effectively calculable") is an informal, intuitive notion with no formal object to manipulate, so there is nothing to prove against; it is a hypothesis backed by overwhelming evidence.
The equivalence "-recursive functions Turing-computable functions" is a theorem.
True. Both sides are formal models (functions built from with , versus functions computed by a tape machine), so their equality was proved (Kleene). CTT is the extra claim that this formal class also equals the informal "everything computable."
Adding a second tape lets a Turing machine compute functions a single-tape machine cannot.
False. A single-tape machine can simulate tapes by storing them side-by-side (interleaved) on its one tape and shuttling the head back and forth; the simulation is at worst quadratically slower but always faithful. So multi-tape, 2-D-tape, and nondeterministic machines compute the exact same set of functions — only speed changes. This robustness is itself evidence for CTT.
A Universal Turing Machine can compute strictly more than an ordinary Turing machine.
False. A UTM takes a description of any TM plus its input and simulates it step-by-step, so its outputs are exactly the outputs of ordinary TMs — nothing outside the Turing-computable class. It is a general-purpose machine, not a more-powerful one.
If a function is λ-definable, it is also -recursive.
True. All the 1930s models were proven mutually equivalent by explicit translations (each simulates the others), so λ-definable, -recursive, and Turing-computable name one and the same class.
CTT guarantees that every computable function can be computed efficiently.
False. CTT is silent about speed and resources. The efficiency claim is the separate, contested Strong/Physical thesis, not the standard one.
Because the Halting problem is undecidable, CTT must be false.
False. Undecidability is fully consistent with CTT: the thesis only claims that whatever is computable is Turing-computable, not that everything is computable. Some functions are computable by nobody.
Every partial function that can loop forever is excluded from the computable class.
False. The class deliberately includes partial functions (functions undefined on some inputs) — the minimization operator (an unbounded
while) can fail to halt, mirroring real programs that run forever.Quantum computers refute the (standard) Church–Turing thesis.
False. A quantum device's output is still a Turing-computable function (a TM can simulate the amplitude bookkeeping); it may be faster, so it only pressures the Strong/physical thesis about efficiency, not standard CTT (see Computational Complexity).
Spot the error
"CTT says every mathematical function is Turing-computable."
Error: it says every effectively calculable function is Turing-computable. Most functions on are non-computable (there are uncountably many functions but only countably many algorithms).
"Since -calculus and Turing machines are equivalent, we proved the Church–Turing thesis."
Error: proving two formal models equal does not touch the informal notion. Convergence of formal models is strong evidence, but CTT's claim about the intuitive notion stays unprovable.
"Primitive recursive functions already capture everything computable, so we don't need ."
Error: primitive recursion = only bounded
for loops. The Ackermann function is computable yet not primitive recursive; the unbounded search is what closes the gap (see Mu-Recursive Functions)."The Halting Problem is undecidable only for Turing machines; a smarter model could decide it."
Error: by CTT any algorithm is some Turing machine, so "no TM decides halting" upgrades to "no algorithm of any kind decides halting" — the impossibility is universal.
"CTT lets me skip writing code because it says the problem is decidable."
Error: CTT lets you describe an algorithm in English/pseudocode instead of a TM once you have one. It never conjures an algorithm you have not exhibited.
"Nondeterministic Turing machines are more powerful, so they violate CTT's uniqueness."
Error: nondeterminism changes time complexity (the P vs NP question lives there), not the set of computable functions — a deterministic TM can try all branches one after another. Uniqueness of the computable class is untouched.
Why questions
Why can't we replace "effectively calculable" with a precise definition and then prove CTT?
Any precise replacement would just be another formal model; proving CTT against it only shows two formal models agree, leaving the original intuitive notion still unformalized.
Why does the convergence of many independent models count as evidence rather than proof?
Because each proof only links formal models to each other; none reaches the informal notion. Their agreement makes it implausible they all missed something, but "implausible" is not "proven."
Why does adding (unbounded search) let the class contain non-halting computations?
searches with no upper bound; if no such exists the search never stops, so the function is undefined there — precisely a partial function.
Why is CTT what makes undecidability results meaningful for real programmers?
Without CTT, "no TM solves it" might seem like a limitation of one clunky model. CTT says every algorithm equals some TM, so the barrier applies to Python, quantum, and pencil-and-paper alike.
Why is the Strong (Physical) Church–Turing thesis more fragile than the standard one?
It makes an empirical claim about physics and efficiency (polynomial slowdown), which experiments and models like quantum computing can genuinely challenge; the standard thesis is only about what is computable.
Edge cases
Is a function that halts only on even inputs and loops forever on odd inputs "computable"?
Yes, as a partial function (undefined on the odd inputs) — the computable class includes partial functions, and -recursion naturally produces exactly this kind of "defined only sometimes" behaviour.
Does CTT apply to functions on strings, graphs, or reals, or only on ?
On directly, but strings/graphs can be encoded as natural numbers (write them in binary and read as a number), so CTT covers them too. Full real numbers need a separate computability theory since they are not finitely representable in general.
If an infinitely fast (hypercomputing) device could decide the Halting problem, would that disprove CTT?
It would violate CTT's spirit, but such a device is not "effectively calculable" (no finite mechanical recipe). CTT is about finite step-by-step procedures, so a physically impossible oracle is out of scope.
What does CTT say about a Turing machine with an infinite set of states?
That is no longer a Turing machine (states must be finite), so CTT does not license it. An infinite control could in principle "hard-code" non-computable answers, which is exactly why the finiteness condition matters.
Is "the empty procedure that outputs nothing" a computable function?
Yes, trivially — the everywhere-undefined partial function is -recursive. For example searches for a with successor , which never exists over , so it never halts on any input — sitting at the degenerate boundary of the class.
Does CTT claim there is exactly one algorithm per computable function?
No. It claims the set of computable functions is captured by TMs; a single function has infinitely many different algorithms/TMs computing it. CTT is about the class, not about uniqueness of recipes.
Recall One-line self-test before you leave
Cover this and answer aloud: "Is CTT a theorem, and why does that matter for the Halting problem?" ::: It is a thesis, not a theorem (it equates informal with formal); that is exactly what upgrades "no Turing machine decides halting" into "no algorithm anywhere decides halting."