Computability Theory and Turing Machines
Computability theory studies which problems can in principle be solved by mechanical procedures. The central model is the Turing machine, an idealized computer with unlimited memory; the Church–Turing thesis asserts it captures every notion of "effective computation." Key result in words: there exist precisely defined problems (like the halting problem) that NO algorithm can solve. Applies across logic, computer science, and the foundations of mathematics. Pioneered by Alan Turing, Alonzo Church, Kurt Gödel, and Emil Post in 1936.
A computation is a finite, mechanical, rule-following process. Once you fix any reasonable formalization of this idea, you get the same class of computable functions. This robustness is what gives the concept its weight: "computable" is not an artifact of one machine design but a fundamental mathematical category. And because programs are finite strings, they can be counted and encoded as numbers — which lets a machine take other machines as input, and lets us run diagonalization to manufacture problems no machine can decide.
Formal Statement
A (deterministic, one-tape) Turing machine is a 7-tuple
Derivation hint: this is a definition, not derived — each component names one physical part of the abstract device. where the symbols mean:
- — a finite set of states (the controller's internal configurations).
- — the input alphabet, not containing the blank symbol.
- — the tape alphabet, with and blank .
- — the transition function.
- — the start state.
- — the halting states ().
The transition function reads
Derivation hint: from current state reading symbol , the machine moves to state , overwrites with , and shifts the head one cell in direction . A configuration is a snapshot giving the current state, full tape contents, and head position. The machine halts if it ever enters or ; otherwise it runs forever.
Let be a language (set of strings).
- is Turing-recognizable (recursively enumerable, r.e.) if some TM accepts exactly the strings in , and on strings not in either rejects or loops.
- is decidable (recursive) if some TM accepts every string in and rejects every string not in — i.e. it always halts.
A function is computable if some TM, started with encoded on its tape, halts with encoded on its tape.
Every function that is "effectively calculable" by any mechanical procedure is computable by a Turing machine. Formally, the following classes coincide:
Derivation hint: each equality is a separate constructive theorem (e.g. Kleene's proof that -definable -recursive); the thesis itself is the empirical claim that this common class equals the informal notion of "algorithm." The thesis is not a theorem — "effectively calculable" is informal — but it is supported by the convergence of every independent formalization onto the same class.
Let
Derivation hint: is a single string encoding both the machine's description and its input via a fixed Gödel encoding. Then is Turing-recognizable but not decidable: no Turing machine decides, for all , whether halts on .
Why It Holds / Derivation
1. Assume for contradiction a decider exists with
Derivation hint: this is exactly the negation of " is undecidable"; always halts by assumption. 2. Build a new machine that takes a single machine description as input and runs on — i.e. asks "does halt when fed its own description?" 3. Invert the answer: is defined so that
Derivation hint: does the opposite of what does on its own code — this is the diagonal flip. 4. Feed its own description. Consider . By the definition of :
- If halts on , then said "halt," so by step 3 loops — contradiction.
- If loops on , then said "loop," so by step 3 halts — contradiction.
5. Conclusion: both cases are impossible, so cannot exist. Hence is undecidable. (That is recognizable: simply simulate on ; accept if it halts. This may loop, but it never wrongly rejects.)
∎1. Every Turing machine has a finite description, encodable as a finite binary string. So the set of TMs is at most countable:
Derivation hint: finite strings over a finite alphabet form a countable union of finite sets. 2. The set of all functions has cardinality
Derivation hint: Cantor's theorem — the power set of is strictly larger than . 3. Since there are only countably many machines but uncountably many functions, almost all functions are uncomputable.
∎British mathematician who, at age 23, defined the abstract machine now bearing his name in the 1936 paper "On Computable Numbers, with an Application to the Entscheidungsproblem." He introduced the universal machine, the halting argument, and the very idea of a stored-program computer years before electronic hardware existed. During WWII he led codebreaking at Bletchley Park against the German Enigma, work credited with shortening the war. His later interests included morphogenesis and machine intelligence (the "Turing test"). Persecuted for his homosexuality, he died in 1954; he received a posthumous royal pardon in 2013.
Building Intuition
Picture a clerk with an infinitely long roll of squared paper, a pencil, and an eraser. The clerk follows a small fixed rulebook (the transition function): "in mood seeing symbol , write , change to mood , step left/right." That's all a computer ever does — there is no hidden magic. The astonishing claim of computability theory is that this clerk can do anything any computer can do, just more slowly. The limits then become visceral. A program is itself just symbols on paper, so the clerk can read another clerk's rulebook and simulate it — this is the universal Turing machine, the mathematical ancestor of the general-purpose computer. But self-reference creates a trap: ask the clerk to predict whether an arbitrary clerk (possibly itself) will ever stop, and you can always construct a contrarian clerk that does the opposite of the prediction. The prediction task is therefore impossible in general, not merely hard.
Worked Examples
Given: A TM over that appends a single `1` to a block of `1`s (computes in unary). Rule: in , move right over `1`s; on hitting , write `1`, then accept. Start tape: `111` (so ), head on the leftmost `1`.
Steps (configuration = state · tape with head position underlined): 1. `111⊔` → read `1`, move R → `111⊔` 2. `111⊔` → read `1`, move R → `111⊔` 3. `111⊔` → read `1`, move R → `111⊔` 4. `111⊔` → read `⊔`, write `1`, enter → tape `1111`
Boxed answer: — the tape now holds four `1`s, the unary encoding of . Total steps: transitions for input length , i.e. steps.
Given: Restrict to TMs whose total description fits in bits, and ask how many distinct boolean functions on a single byte (-bit inputs) exist.
Steps: 1. Number of TM descriptions machines (an upper bound on how many functions this finite family can compute). 2. Number of functions : domain has inputs, so the count is
Derivation hint: each of the inputs is independently mapped to or , giving truth tables. 3. Here , so all functions are describable within 1000 bits. But let the input width grow: functions on -bit inputs number , which for already gives .
Boxed answer: — already at 10-bit inputs there are more functions than 1000-bit programs, so some are not computable by any such program. Taking gives the uncountability gap of .
Common Misconceptions
"Undecidable" ≠ "hard" ≠ "unknown." The halting problem is not merely intractable like NP-complete problems; it is provably impossible for any algorithm, regardless of time or memory. Also, undecidability is about deciding all instances uniformly — for any specific program you may well be able to determine whether it halts. The theorem only forbids a single general method that works for every input.
The Church–Turing thesis is not provable. Because "effectively calculable" is an informal notion, the thesis cannot be a theorem; it could in principle be refuted by exhibiting a physically realizable procedure computing a non-Turing-computable function. No such device is known, and quantum computers do not violate it (they compute the same class of functions, only — for some problems — faster).
The complement of the halting problem, (machines that loop), is not even recognizable. If both and were recognizable, run both recognizers in parallel; one must accept, giving a decider — contradicting undecidability. This shows recognizability is not closed under complement, unlike decidability. Concretely:
Derivation hint: iff both and are in (Post's theorem); fails this.
Connections
Computability theory underpins much of theoretical computer science and logic. It feeds directly into Complexity Theory, which refines "computable" into "computable within bounded resources" (P, NP, PSPACE). Its diagonalization technique is the same engine behind Gödel's Incompleteness Theorems — Turing's halting argument can be rephrased to prove that any consistent, sufficiently strong formal system has true-but-unprovable statements. The encoding of machines as numbers connects to Recursive Function Theory and to Formal Languages and Automata, where Turing machines sit atop the Chomsky hierarchy above pushdown and finite automata. The notion of one problem reducing to another links to Many-One Reducibility and the structure of Turing Degrees.
Real-World Applications
Historical Development
Subtleties & Limits
Computability theory has a rich landscape of unresolved and subtle questions. The Busy Beaver function — the maximum number of `1`s a halting -state TM can print — grows faster than any computable function and is itself uncomputable; the exact value of was only confirmed (47,176,870) in 2024, and is astronomically beyond reach, recently shown to exceed . Post's problem — whether there exist r.e. sets strictly between decidable and in Turing degree — was solved (yes) by Friedberg and Muchnik in 1956 via the priority method, but the fine structure of the Turing degrees remains an active research area with many open questions about its order-theoretic and automorphism properties. At the philosophical frontier, hypercomputation asks whether any physical process could compute beyond Turing limits — currently no, but the question intertwines with open problems in physics about the computability of physical law.
See Also
Church–Turing Thesis · Halting Problem · Rice's Theorem · Universal Turing Machine · Lambda Calculus · Recursive Function Theory · Complexity Theory · Gödel's Incompleteness Theorems · Busy Beaver Function · Turing Degrees