Post Correspondence Problem (PCP): Short Notes for Computation Theory

Post Correspondence Problem (PCP): Short Notes for Computation Theory

Verified Sources
Sep 12, 2026

The Post Correspondence Problem (PCP) is a classic problem in theoretical computer science used to show the existence of undecidable problems. In PCP, we are given a finite set of “tiles,” each tile containing two strings over some alphabet. The task is to decide whether there exists a finite sequence of tile indices such that the concatenation of the top strings equals the concatenation of the bottom strings. The key result is that PCP is undecidable (more precisely, semi-decidable/recursively enumerable but not decidable).

type="tip" title="What to remember" content="PCP asks for existence of a matching concatenation. The undecidability comes from the ability to encode the behavior of Turing machines into these string-concatenation constraints."

1) Formal definition (instance, solution, decision question)

Let Σ\Sigma be an alphabet. An instance of PCP consists of kk pairs of strings: {(u1,v1),(u2,v2),,(uk,vk)}\{(u_1,v_1),(u_2,v_2),\dots,(u_k,v_k)\} where each ui,viΣu_i,v_i \in \Sigma^*.

A solution is a finite sequence of indices i1,i2,,in{1,2,,k},  n1i_1,i_2,\dots,i_n \in \{1,2,\dots,k\}, \; n\ge 1 such that ui1ui2uin  =  vi1vi2vin.u_{i_1}u_{i_2}\cdots u_{i_n} \;=\; v_{i_1}v_{i_2}\cdots v_{i_n}.

The decision problem asks:

Does there exist such a sequence?

Key keywords: alphabet, string concatenation, decision problem.

2) A small illustrative example (how matching works)

Suppose we use tiles over alphabet Σ={a,b}\Sigma=\{a,b\}:

  • Tile 1: (u1,v1)=(a,ab)(u_1,v_1) = (a, ab)
  • Tile 2: (u2,v2)=(aba,a)(u_2,v_2) = (aba, a)

We try to form the same final string on top and bottom by choosing a sequence of tile indices.

If we choose sequence [1,2][1,2], then:

  • Top: u1u2=aaba=aabau_1u_2 = a\cdot aba = aaba
  • Bottom: v1v2=aba=abav_1v_2 = ab\cdot a = aba

They are not equal, so [1,2][1,2] is not a solution. The idea is to search over all finite sequences and check equality.

Key keywords: tile, index sequence, equality constraint.

type="warning" title="Common pitfall" content="PCP is about matching entire concatenations. Partial matches do not matter unless they can be extended to make full equality."

3) Semi-decidability (recognizing solutions)

Even though PCP is undecidable, it is recursively enumerable: we can enumerate all finite index sequences of length 1,2,3,1,2,3,\dots and check whether the resulting top and bottom strings match.

This gives a “search” algorithm:

  • generate i1,,ini_1,\dots,i_n for increasing nn
  • compute the concatenated top string and bottom string
  • accept if they match

If a solution exists, the algorithm eventually finds it; if not, it may run forever.

Key keywords: enumeration algorithm, semi-decision, nontermination.

Brute-force algorithm for PCP (recognizer)

  1. 1
    Step 1

    Input tiles (u_i, v_i) for i=1..k over alphabet Σ.

  2. 2
    Step 2

    For n = 1,2,3,... generate all index sequences (i_1,...,i_n) where each i_j ∈ {1..k}.

  3. 3
    Step 3

    Compute Top = u_{i_1}...u_{i_n} and Bottom = v_{i_1}...v_{i_n}.

  4. 4
    Step 4

    If Top = Bottom, halt and accept (a solution is found).

  5. 5
    Step 5

    If no sequence ever matches, the recognizer does not halt.

4) Why PCP is undecidable (high-level reduction idea)

The standard proof strategy for PCP undecidability is to reduce an already-undecidable problem (commonly, the halting problem). The reduction encodes computation history into string concatenation so that:

  • a valid sequence of tiles corresponds to a correct “computation trace,” and
  • the equality of top and bottom strings forces consistency between successive configurations.

At a high level, PCP acts like a constraint satisfaction engine: the constructed equality forces the simulated machine steps to “line up” correctly.

Key keywords: reduction, computation encoding, undecidability.

How PCP appears in computability theory

Define tiles and matching sequences

Step 1

Solutions are sequences of indices where top and bottom concatenations match."

Show recognizability

Step 2

Enumerate sequences; accept when a match is found."

Prove undecidability

Step 3

Reduce from a known undecidable problem by encoding computations."

Use as a tool

Step 4

Many other undecidability results are proved via PCP reductions."

  • PCP can be generalized or restricted (e.g., constraints on the form of tiles or special starting/ending rules).
  • A common way to connect PCP to automata theory is via formal languages: PCP can be shown to generate languages/relations that are recursively enumerable but not decidable.

Key keywords: variant, formal language, recursively enumerable relation.

PCP problem-type landscape (qualitative)

PCP sits in the gap between decidable and fully recognizable complements.

FAQ: Short notes on PCP

Post Correspondence Problem (PCP) - Intro and intuition

Knowledge Check

Question 1 of 4
Q1Single choice

In PCP, what must be true for a sequence of indices i1,...,in to be accepted?