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

Reduction Techniques for Proving Undecidability

Graduate Depth 99 in the knowledge graph ☐ I know this ☆ Set as goal
2topics build on this
449prerequisites beneath it
See this on the map →
Undecidable Problems and the Halting Problem→→Post Correspondence Problem and ApplicationsRice's Theorem and Non-Trivial Turing Machine Properties
reduction many-one-reduction undecidability proof-technique

Core Idea

A many-one reduction from A to B is a computable function f where x ∈ A ⟺ f(x) ∈ B. If B is undecidable, so is A. Reduction is the primary technique for proving undecidability: map the halting problem to your problem, showing it's hard. Reductions also apply to NP-completeness in complexity theory, making them a fundamental proof technique across CS.

Explainer

You already know that the halting problem is undecidable — no Turing machine can determine for every input whether a given TM halts. But how do you prove that *other* problems are also undecidable? The answer is reduction: you show that if you could solve the new problem, you could use that solution to solve the halting problem, which is impossible. Since the halting problem is the "original" undecidable problem, anything at least as hard as it must also be undecidable.

A many-one reduction from language A to language B is a total computable function f such that for every input x, x ∈ A if and only if f(x) ∈ B. Think of f as a translator: it converts any instance of problem A into an instance of problem B, preserving the yes/no answer. If B were decidable — if some machine D_B could decide it — then you could decide A by first computing f(x) and then running D_B on f(x). The contrapositive is the useful direction: if A is known to be undecidable, then B must be undecidable too, because a decider for B would give you a decider for A.

The concrete workflow for proving a language L is undecidable follows a standard template. First, pick a known undecidable language — usually the halting problem H or the acceptance problem A_TM. Then construct a computable function f that maps instances of the known problem to instances of L. The construction typically works like this: given an input ⟨M, w⟩ (a TM and an input), build a new machine M' that embeds the behavior of M on w into the structure that L tests for. For example, to show that the "does this TM accept the empty string?" problem is undecidable, you build M' so that M' accepts ε if and only if M accepts w. The key is that f must be computable — you need to actually describe how to construct M' from ⟨M, w⟩ using a mechanical procedure — and the "if and only if" must hold in both directions.

The direction of the reduction is the most common source of confusion. You reduce from the known-hard problem to the new problem. This shows the new problem is at least as hard as the known one. Reducing in the wrong direction proves nothing useful — showing that the halting problem is at least as hard as your problem tells you nothing new, since the halting problem is already known to be hard. A helpful mnemonic: the arrow points toward the problem you want to prove is hard. If you can transform halting-problem instances into L-instances (H ≤_m L), then L is at least as hard as H. This same reduction framework carries forward into complexity theory, where polynomial-time reductions between decision problems establish NP-hardness and NP-completeness — the logic is identical, only the resource bound on the reduction function changes.

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 → Boolean Type and Truth Values → Comparison Operators and Boolean Tests → Logical Operators and Boolean Algebra → Boolean Algebra and Fundamental Laws → Logic Gates Fundamentals → Implementing Boolean Functions with Gates → Karnaugh Map Simplification → Combinational Circuit Design → Flip-Flops and Latches → Finite State Machines (FSMs) → Deterministic Finite Automata (DFA) → Nondeterministic Finite Automata (NFA) → Two-Way Finite Automata → NFA to DFA Conversion (Subset Construction) → DFA Properties and Minimization Algorithms → Regular Languages: Definition and Characterization → Context-Free Grammars (CFGs) → Pushdown Automata (PDA) → Equivalence of CFGs and Pushdown Automata → Closure Properties of Context-Free Languages → Limitations of Context-Free Languages → Pumping Lemma for Context-Free Languages → Turing Machines → Variants of Turing Machines and Equivalence → Universal Turing Machine and Self-Simulation → Church-Turing Thesis and Computability → Decidable Languages → The Halting Problem → Recognizability vs. Decidability → Undecidable Problems and the Halting Problem → Reduction Techniques for Proving Undecidability

Longest path: 100 steps · 449 total prerequisite topics

Prerequisites (1)

Leads To (2)