The configuration graph of a nondeterministic machine #
⚠️ Unreviewed by Bolton
Space-bounded computation is graph reachability: a nondeterministic machine accepts exactly when
some accepting configuration is reachable from the initial one along the two-successor relation.
This file sets up that translation, which NL ⊆ P, NL ⊆ coNL and Savitch's theorem all rest
on — each then differs only in how it searches the graph.
The definitions themselves live in Complexitylib.Classes.Containments.Defs.
Main results #
NTM.reachesCfg_trace— every configuration a trace passes through is reachableNTM.exists_trace_of_reachesCfg— every reachable configuration is the end of some traceNTM.succ_iff— an edge of the graph is a step of one of the twoNTM.branchTMs
The configuration graph is the union of the two deterministic steps. Its edges are the
steps of NTM.branchTM, so the deterministic machinery for a single step applies to them.
The window invariant along the graph #
Along the configuration graph, the window invariant is inherited as long as every configuration met respects the space bound.
Acceptance is reachability #
A space-bounded machine accepts exactly when an accepting configuration is reachable. This is the bridge every log-space graph argument starts from: membership in the language is a property of the configuration graph alone, with no reference to time or choice sequences.