A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Proving Undecidability via Reduction

College Depth 90 in the knowledge graph ☐ I know this ☆ Set as goal
2topics build on this
518prerequisites beneath it
See this on the map →
Many-One Reducibility in ComputabilityThe Halting Problem→→Post Correspondence Problem and ApplicationsRice's Theorem: Deciding Properties of Programs
undecidability proofs reduction

Core Idea

To show a language L is undecidable, reduce the halting problem (or another known undecidable language) to L: if HALT ≤_m L and HALT is undecidable, then L is undecidable. This technique avoids directly reasoning about diagonal arguments and makes undecidability results intuitive: L inherits the computational hardness of HALT.

How It's Best Learned

Practice reductions from HALT to at least three non-trivial languages (e.g., emptiness of a Turing machine's language, equivalence of machines, totality of a function).

Common Misconceptions

Explainer

You know the halting problem is undecidable: no Turing machine can determine, for all pairs (M, w), whether machine M halts on input w. Reduction-based undecidability proofs turn this established fact into a general technique. To show a new language L is undecidable, demonstrate that being able to decide L would let you decide the halting problem. Since the halting problem is already known to be undecidable, L must be undecidable too.

The formal tool is many-one reducibility: HALT ≤ₘ L means there exists a computable, total function f such that (M, w) ∈ HALT ⟺ f(M, w) ∈ L. The function f transforms halting-problem instances into L-instances, and it does so completely and computably — you can always compute the transformation, even though you cannot solve either problem. The undecidability proof is by contrapositive: if you had a decider for L, composing it with f would yield a decider for HALT. Since no HALT-decider exists, no L-decider can exist either.

Getting the direction of the reduction right is the most common pitfall. The reduction goes *from* the known-hard problem *to* the problem you want to prove hard. "HALT ≤ₘ L" says "L is at least as hard as HALT." If you accidentally reduce in the wrong direction (L ≤ₘ HALT), you are only showing that HALT is at least as hard as L — which is uninformative since HALT was already known to be hard. The intuition: if you can transform any HALT instance into an L instance, then a hypothetical L-solver is strong enough to solve HALT.

A worked example cements the technique. Consider L_empty = {⟨M⟩ : L(M) = ∅}, the set of machine encodings whose language is empty. Given any pair (M, w), construct a new machine M' that, on any input x, first simulates M on w and then accepts. M' accepts at least one string if and only if M halts on w — so (M, w) ∈ HALT ⟺ ⟨M'⟩ ∉ L_empty. The map (M, w) ↦ ⟨M'⟩ is computable, making this a valid many-one reduction. Since HALT is undecidable, L_empty must be too. This pattern generalizes: any non-trivial property of Turing machine languages is undecidable, which is precisely Rice's theorem.

Practice Questions 5 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Boolean Algebra → Introduction to Propositional Logic → Introduction to Predicate Logic (First-Order Logic) → First-Order Logic Syntax → ZFC Axioms Overview → Axiom Schema of Separation → Axiom Schema of Replacement → Von Neumann Ordinals → Hereditarily Finite Sets → Recursive Definitions on Finite Sets → Well-Founded Relations and Transfinite Recursion → The Axiom of Choice and Equivalent Formulations → Axiom of Choice → Well-Ordering Theorem → Infinite Cardinal Numbers → Cantor's Theorem → Uncountability and the Diagonal Argument → The Cantor Set: An Uncountable Nowhere Dense Example → Uncountable Sets and Cantor Diagonalization → The Halting Problem → Decidable and Semi-Decidable Languages → Many-One Reducibility in Computability → Proving Undecidability via Reduction

Longest path: 91 steps · 518 total prerequisite topics

Prerequisites (2)

Leads To (2)