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

Post Correspondence Problem and Applications

Graduate Depth 100 in the knowledge graph ☐ I know this ☆ Set as goal
590prerequisites beneath it
See this on the map →
Reduction Techniques for Proving UndecidabilityProving Undecidability via Reduction→
pcp undecidability tiling string-matching canonical

Core Idea

The Post Correspondence Problem (PCP) asks: given domino pairs (u₁, v₁), ..., (uₙ, vₙ) of strings, can you arrange them to form identical strings? PCP is undecidable without direct reference to TMs—undecidability arises from combinatorial structure. PCP reductions elegantly prove undecidability of grammar problems (CFG equivalence, ambiguity of unrestricted grammars).

Explainer

From your work on reduction techniques, you know that proving a problem undecidable typically involves showing that a known undecidable problem (like the halting problem) can be reduced to it. The Post Correspondence Problem (PCP) is valuable because it provides an undecidable problem that looks nothing like Turing machines — it is purely about string manipulation — yet carries the same computational power, making it an ideal intermediate step for proving other problems undecidable.

Here is the setup. You are given a finite collection of dominoes, each with a string on top and a string on bottom. For example: domino 1 has "ab" on top and "a" on bottom; domino 2 has "b" on top and "ba" on bottom; domino 3 has "a" on top and "ab" on bottom. You may use any domino as many times as you like, in any order. The question is: can you arrange a sequence of dominoes so that the concatenation of all the top strings exactly equals the concatenation of all the bottom strings? In this example, choosing dominoes 1, 2, 3 gives top = "ab" + "b" + "a" = "abba" and bottom = "a" + "ba" + "ab" = "abba" — a match. Finding such a sequence, or determining that none exists, is the PCP.

The undecidability of PCP is established by reducing the acceptance problem for Turing machines to it. The construction encodes a TM's computation history — its sequence of configurations — into domino pairs, so that a matching sequence of dominoes exists if and only if the TM accepts its input. The top strings always "lag behind" the bottom strings by one configuration step, and the dominoes are designed so the only way to close this gap and achieve a match is if the TM reaches an accepting state. This encoding is intricate but the key insight is that the combinatorial freedom of choosing and repeating dominoes can simulate arbitrary computation.

PCP's real power is as a reduction tool. Because it involves only string concatenation and matching — no tapes, heads, or states — it connects naturally to problems about formal languages and grammars. For instance, proving that equivalence of context-free grammars is undecidable becomes straightforward by reducing PCP to it: construct two CFGs whose generated languages correspond to the top and bottom concatenations of domino sequences, so the grammars generate the same language if and only if PCP has a solution. Similarly, PCP reductions prove undecidability of ambiguity for context-free grammars and various properties of unrestricted grammars. PCP thus serves as a bridge between the Turing machine world and the formal language world, making many undecidability proofs cleaner and more direct than going through the halting problem itself.

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 → Post Correspondence Problem and Applications

Longest path: 101 steps · 590 total prerequisite topics

Prerequisites (2)

Leads To (0)

No topics depend on this one yet.