The Timpson Lyceum · Computation Theory
Lecture 17 (Computation Theory) Reducibility and Undecidable Problems
Overview
This lecture introduces reducibility, the central technique for proving that problems about Turing machines are undecidable. We begin by reviewing the proof that the acceptance problem is undecidable, then prove that a language is decidable exactly when both it and its complement are recognizable — which lets us exhibit our first non-recognizable language, . The heart of the lecture is the reduction method: if we can convert the acceptance problem into another problem , then must be undecidable too, because a solver for would solve the impossible . We apply this to the halting, emptiness, and regularity problems, and finally prove Rice's theorem, which shows that every non-trivial property of a Turing machine's language is undecidable.
Key Concepts
The acceptance problem. . This language is undecidable: no Turing machine can, for every , halt and correctly say whether accepts . The proof assumes a decider for exists, builds a machine that does the opposite of on its own input, and derives the contradiction that accepts if and only if it does not.
Decidable vs. recognizable.
- A language is recognizable (Turing-recognizable) if some machine accepts every string in the language; on strings outside the language it may reject or loop forever.
- A language is decidable if some machine accepts every string in the language and rejects every string outside it — it always halts.
- Every decidable language is recognizable, but not conversely. The Diophantine-equation problem (does a polynomial have a non-trivial integer root?) is recognizable but not decidable: you can confirm a solution by searching, but you can never be sure no solution exists.
Decidability theorem. A language is decidable if and only if both and its complement are recognizable. () A decider for already recognizes , and flipping its accept/reject behaviour recognizes . () Given recognizers for and for , run them in parallel (alternating one step each) on input ; since lies in exactly one of , , one machine must eventually halt — accept if accepts, reject if accepts.
Co-recognizable. A language is co-recognizable if its complement is recognizable. is not even recognizable: if it were, then (which is recognizable) and would both be recognizable, making decidable — a contradiction. A language is decidable exactly where recognizable and co-recognizable overlap.
Reducibility. A reduction from problem to problem is a conversion such that any solution to yields a solution to , written . Logically, " reduces to " means (solution to ) (solution to ); the contrapositive is ( unsolvable) ( unsolvable). So to prove undecidable, reduce a known-undecidable problem (usually ) to . Example: finding a rectangle's area reduces to finding its length and width — knowing length and width gives the area (but not conversely).
Problems proved undecidable by reduction.
- Halting problem . Reduce to it: a halting-decider tells us whether halts on ; if not, reject (a non-halting machine does not accept), otherwise simulate on — now guaranteed to halt — and copy its accept/reject. This decides , which is impossible.
- Emptiness problem . Build that rejects every input except , and on input runs on . Then if accepts , and otherwise. An emptiness-decider applied to thus decides .
- Regularity problem . Build that accepts every string of the form outright, and accepts all other strings only when accepts . Then (regular) if accepts , and (non-regular) otherwise. A regularity-decider on decides .
Rice's theorem. Let be any non-trivial property of a Turing machine's language — formally, a set of machine descriptions such that (i) two machines with the same language are both in or both out (it is a property of the language, not the machine), (ii) at least one machine is in , and (iii) at least one is out. Then is undecidable. Informally: anything interesting you might want to know about the language a Turing machine recognizes is undecidable. Note properties of the machine itself (e.g. "has 28 states") are not language properties and are not covered.
Worked Example
Proof of Rice's theorem (reduction from ). Let be non-trivial, with some machine . Let be a machine with ; without loss of generality assume (otherwise work with , since is decidable iff is). Assume for contradiction decides . Build deciding : on input , construct
Tracing the language of against the property :
So runs on : accept if accepts (then accepts ), reject if rejects. This decides — a contradiction. Hence no such exists and is undecidable.
A second reduction (equality problem, reducing to emptiness). The equality problem is undecidable. Assume decides it and build deciding emptiness: on input , let be a machine with , and observe
Run on and copy its answer; this decides emptiness, which is impossible. Hence is undecidable.
Summary
- is undecidable; the self-reference machine gives the contradiction accepts does not.
- A language is decidable iff it and its complement are both recognizable; running two recognizers in parallel builds the decider.
- is not recognizable — the first language we place strictly outside the recognizable class.
- A reduction means a solver for gives a solver for ; so reducing the undecidable to proves undecidable.
- The halting, emptiness, and regularity problems are all undecidable by reductions from that build an intermediate machine whose language encodes whether accepts .
- Rice's theorem: every non-trivial property of a Turing machine's language is undecidable — none of the earlier results are accidents; they are all special cases.