The configuration graph and its bounded reachability rounds #
The space-bounded containments — NL ⊆ P, NL ⊆ coNL, Savitch's theorem — all read a
computation as a walk in the configuration graph: the nondeterministic step relation on
configurations. This file holds the three definitions those arguments share, so that theorem
statements about them can be read without opening any proof internals.
Main definitions #
NTM.Succ— one nondeterministic step, as a relation on configurationsNTM.ReachesCfg— its reflexive-transitive closureNTM.reachSet— the configurations reached within a fixed number of rounds of successor-closure, i.e. the state of a breadth-first search after that many roundsNTM.ReachesCfgIn,NTM.ReachesCfgLe— reachability in exactly, and in at most, a given number of steps; the step count is what Savitch's recursion halveslogWindow— a concreteO(log n)search window
The search window of a log-space machine. A machine's own space function is an arbitrary
O(log n) function, which a program cannot evaluate; this concrete bound can be computed from
the input length alone, and enlarging the window is harmless.
Equations
- Complexity.logWindow C D n = C * Nat.log 2 n + D
Instances For
Reachability in the configuration graph.
Equations
- tm.ReachesCfg = Relation.ReflTransGen tm.Succ
Instances For
Reachability in exactly t steps of the configuration graph.
- refl
{k : ℕ}
{tm : NTM k}
(c : Cfg k tm.Q)
: tm.ReachesCfgIn 0 c c
No steps: a configuration reaches itself.
- head
{k : ℕ}
{tm : NTM k}
{c c' c'' : Cfg k tm.Q}
{t : ℕ}
(hstep : tm.Succ c c')
(hrest : tm.ReachesCfgIn t c' c'')
: tm.ReachesCfgIn (t + 1) c c''
One step followed by a shorter walk.
Instances For
Reachability in at most t steps. Halted configurations have no successors, so a walk
cannot be padded and the bounded notion is genuinely weaker than the exact one.
Equations
- tm.ReachesCfgLe t c c' = ∃ s ≤ t, tm.ReachesCfgIn s c c'
Instances For
The configurations reachable from c₀ within t rounds of successor-closure.