Computability
Mapping Reductions
In 2015, Marvin Minsky and Seymour Papert proved that no neural network architecture of their era could solve the XOR problem. The proof used a reduction argument - they showed XOR cannot be represented by the given architecture by reducing the question to a linear separability problem. Reductions are not just theoretical tools for proving undecidability; they are the fundamental technique for showing that problem A is at least as hard as problem B in any computational context.
- **Static analysis tools** (Coverity, PVS-Studio) that claim to detect all runtime errors would solve a variant of the Halting Problem - provably undecidable by reduction from ATM. This is why all practical static analyzers must either miss bugs (unsound) or report false alarms (incomplete). The undecidability proof via reduction directly bounds what is achievable.
- **Theorem provers** like Coq and Isabelle cannot automatically verify all true mathematical statements - Godel's incompleteness theorem, proved via a reduction from the Halting Problem using a self-referential construction, guarantees this. The reduction hierarchy explains exactly which verification problems are automatable and which require human insight.
- **Compiler optimizations** that check if two programs are equivalent (semantics-preserving transformation verification) face EQUAL_TM-hardness: the equivalence of two Turing-complete programs is undecidable. Compilers like GCC and LLVM use sound but incomplete approximations (dataflow analysis, abstract interpretation) - their limitations trace directly to the undecidability boundary established by reductions.
Many-One (Mapping) Reductions
A many-one reduction from language A to language B (written A <=_m B) is a computable function f such that for every string w: w in A iff f(w) in B. The function f maps every instance of A to an instance of B - many inputs can map to the same output, hence 'many-one'. If A <=_m B and B is decidable, then A is decidable. Equivalently, if A <=_m B and A is undecidable, then B is undecidable. Reductions are the tool for proving undecidability: show that the Halting Problem (known undecidable) reduces to your problem.
**Rice's Theorem** is the most powerful consequence of many-one reductions: any non-trivial property of the language recognized by a TM is undecidable. 'Non-trivial' means some TMs have the property and some do not. This immediately proves undecidable: 'Does M accept all strings?', 'Does M accept any string?', 'Does M recognize a regular language?', 'Does M halt in polynomial time?' - all undecidable by Rice's Theorem.
If A <=_m B (A many-one reduces to B) and A is undecidable, what can be concluded about B?
Turing Reductions and Oracles
A Turing reduction from A to B (written A <=_T B) allows an oracle for B: a hypothetical subroutine that decides B in a single step. A <=_T B if there exists a Turing machine M^B that decides A using the B oracle. Unlike many-one reductions, Turing reductions allow multiple queries to the oracle, non-monotone use (query then negate), and branching based on oracle answers. Turing reductions are strictly more powerful: A <=_m B implies A <=_T B, but not vice versa. For example, HALT <=_T co-HALT (query co-HALT and flip) but HALT is NOT <=_m co-HALT.
The Turing degree of a language A is the equivalence class under mutual Turing reducibility: A and B have the same degree if A <=_T B and B <=_T A. The Turing degrees form a rich partial order under <=_T. The lowest degree is 0 (decidable languages). The degree 0' (zero-jump) contains HALT and all r.e.-complete sets. Degree 0'' contains problems decidable with a HALT oracle, and so on - forming an infinite hierarchy.
Why are Turing reductions strictly more powerful than many-one reductions?
r.e.-Completeness and Completeness Proofs
A language B is r.e.-complete (recursively enumerable complete) if: (1) B is r.e. (semi-decidable), and (2) every r.e. language A satisfies A <=_m B. The canonical r.e.-complete problem is ATM = {<M, w> : M accepts w} (the Acceptance Problem). HALT = {<M, w> : M halts on w} and EMPTY_COMPLEMENT = {<M> : L(M) != empty} are also r.e.-complete. To prove a new language B is r.e.-complete, show ATM <=_m B (or HALT <=_m B) via an explicit computable reduction function f.
**Cook-Levin Theorem** applies the same completeness concept to NP: SAT is NP-complete because (1) SAT is in NP and (2) every language in NP polynomial-time many-one reduces to SAT. This is the complexity-theory analogue of ATM being r.e.-complete. The proof technique (showing every NP language reduces to SAT via a polynomial-time circuit simulation) mirrors the technique for r.e.-completeness (showing every r.e. language reduces to ATM via a TM simulation).
To prove that EQUAL_TM = {<M1, M2> : L(M1) = L(M2)} is undecidable, which approach is valid?
The Undecidability Hierarchy
The Turing degrees organize all decision problems into a strict infinite hierarchy based on mutual Turing reducibility. Degree 0 contains all decidable languages. Degree 0' (the Halting jump of 0) contains all problems decidable with a HALT oracle - this is the level of ATM, HALT, and all r.e.-complete problems. Degree 0'' contains problems decidable with a 0' oracle (including TOTAL_TM = {<M> : M halts on all inputs}). Every degree 0^(n+1) strictly contains 0^(n). Problems high in the hierarchy are 'more undecidable' - they cannot even be semi-decided by any oracle at a lower level.
| Level | Notation | Class | Canonical Problems |
|---|---|---|---|
| Decidable | 0 | R (recursive) | Primality testing, CFL membership |
| r.e.-complete | 0' | RE-complete | ATM, HALT, co-EMPTY_TM |
| co-r.e.-complete | 0' | co-RE-complete | co-ATM, co-HALT, EMPTY_TM |
| Delta_2 | 0' oracle | R^HALT | Problems decidable with halting oracle |
| Sigma_2-complete | 0'' | RE^HALT-complete | TOTAL_TM, REGULAR_TM |
| Pi_2-complete | 0'' | co-RE^HALT-complete | co-TOTAL_TM, FIN_TM |
| Arithmetic | 0^(n) | Each Sigma_n and Pi_n | Increasingly complex oracle queries |
All undecidable problems are equally hard - once a problem is undecidable, it cannot be further classified.
Undecidable problems form a rich strict hierarchy under Turing reducibility. ATM (Sigma_1-complete), TOTAL_TM (Pi_2-complete), and the full arithmetical hierarchy represent infinitely many levels of undecidability. Problems at level n+1 are strictly harder than problems at level n - no level-n oracle can decide all level-(n+1) problems.
The post correspondence problem is undecidable but Turing-equivalent to HALT (Sigma_1-complete). TOTAL_TM requires a HALT oracle to semi-decide, placing it strictly above HALT. The Sigma_n/Pi_n hierarchy (arithmetical hierarchy) has been proven to be strict: for every n, Sigma_{n+1} contains problems not in Sigma_n or Pi_n. This is analogous to the computational complexity hierarchy (P subset NP subset PSPACE subset EXPTIME) but for undecidability.
TOTAL_TM = {<M> : M halts on all inputs} is Pi_2-complete. What does this tell us about its relationship to HALT?
Key Ideas
- **Many-one reductions** (A <=_m B) prove relative hardness: a computable function f maps every instance of A to an instance of B with the same answer. If A is undecidable and A <=_m B, then B is undecidable.
- **Turing reductions** (A <=_T B) are more powerful: an oracle Turing machine can query B multiple times and negate answers. Turing degrees classify all decision problems into an infinite hierarchy; many-one reductions are a strict subset.
- **r.e.-completeness** (ATM, HALT) is the first level of undecidability. Strictly harder problems like TOTAL_TM (Pi_2-complete) require oracle queries to even semi-decide. The arithmetical hierarchy provides infinitely many distinct levels of undecidability.
Related Topics
Mapping reductions connect to the full landscape of computability and complexity:
- Arithmetical Hierarchy — The Sigma_n/Pi_n hierarchy precisely classifies problems by how many alternating oracle quantifiers they require. Many-one reductions define completeness at each level - Sigma_n-complete problems are the hardest at level n.
- NP-Completeness and Karp Reductions — NP-completeness uses polynomial-time many-one reductions (Karp reductions) - the same concept as many-one reductions but restricted to polynomial-time computable f. Cook-Levin showing SAT is NP-complete is the complexity analogue of showing ATM is r.e.-complete.
Вопросы для размышления
- Rice's Theorem states that any non-trivial semantic property of TM languages is undecidable. Does Rice's Theorem imply that 'M accepts the string 010' is undecidable? Why or why not? What makes 'M accepts 010' different from a semantic property covered by Rice?
- HALT <=_m ATM and ATM <=_m HALT, so they are many-one equivalent. But is there any problem A such that A <=_T HALT but A is NOT <=_m HALT? Give an example or argue why such A cannot exist.
- The complement of ATM (co-ATM) is co-r.e.-complete. If someone claimed to have a program that decides ATM, what would this imply about co-ATM, and why is this a contradiction?