← Student tools · Problem 9 · Lecture 7 · Round 1 (30 pts)

Computation history of a Turing machine

The trace C1 # C2 # … # C — the bridge from TMs to humbler models.

CLO-2R1·30 ptsL7
🔊 Listen

A computation history of M on w is the full sequence of configurations the TM passes through, written as a single string with separators:

C1 # C2 # C3 # … # C

Each configuration Ci records the entire state of the computation at one moment: the tape contents, the head position, and the current control state. Convention (Sipser §5.1): write the state symbol inside the tape, immediately to the left of the head cell. So if M is in state q3 with head at position 4 on tape "01100", we write C = 0110 q3 0. State + head + tape, all encoded in one string of constant local width.

Local checkability — the only property that matters

A string σ is "an accepting computation history of M on w" iff it satisfies three local conditions:

  1. Start: C1 = q0w (initial state, input on tape).
  2. Step: for every adjacent pair (Ci, Ci+1), the second follows from the first by exactly one application of δ.
  3. Accept: C contains the accept state qaccept.

All three checks are local: each can be verified by a small sliding window over σ, without remembering the whole string at once.

Why this matters: humble machine models (LBAs, CFGs, even some restricted NFAs) can perform local checks. They cannot simulate a full TM, but they can verify that someone's claimed computation history is genuine. This is the engine behind ELBA undecidability (Problem 10) and ALLCFG undecidability (Problem 11).

🔊 Listen
Adjacent configurations C_i and C_{i+1} agree everywhere except in a 2×3 window around the head C_i: 0 1 q₃ 0 1 1 C_{i+1}: 0 1 1 q₅ 1 1 2×3 window where δ acts Outside the window: cells are unchanged. Inside: must match δ's effect on (state, symbol). Reading the window δ(q₃, 0) = (q₅, 1, R) writes 1, moves right, becomes q₅ Window above shows exactly this: 0 → 1, q₃ marker hops right, state q₃ → q₅ An LBA scanning C₁#C₂#…#Cℓ checks each # boundary's 2×3 window in turn — that's all it needs to do.

This is the "local checkability" claim made concrete. A change of configuration affects at most three cells (one head cell plus its two neighbours, since the head can move left or right). Verifying a step means reading those three cells in Ci, checking that the corresponding three cells in Ci+1 match what δ prescribes. No global memory needed.

🔊 Listen
Render a TM's full execution as a history Auto-plays
🔊 Listen
🔊 Listen
🔊 Listen

Sipser: §5.1 introduces computation histories formally; Theorem 5.10 (ELBA) and Theorem 5.13 (ALLCFG) apply them. Lecture notes: Module 3 slides 1–4 use the same picture. Companion problems: P10 (ELBA) and P11 (ALLCFG) are direct applications of this technique.