SUCCINCT-REACH is in PSPACE #
The membership half: reachability in a propositionally described transition
system is SO(TC) definable, hence in DescriptiveComplexity.PSPACE.
This is the cheapest membership proof in the library, and the reason is structural: SUCCINCT-REACH is the syntactic image of SO(TC), so the specification is a transcription rather than a construction. The walk carries four monadic relation variables:
X, the state being walked – the only component that matters;V, the valuation witnessing the transition that entered the current state (a transition needs an existential over all variables, auxiliary ones included, and a walk has no existential of its own, so the witness is stored in the state it leads to);W₁andW₂, the valuations witnessing the source and the target conditions. Two are needed rather than one because a walk of length zero must satisfy both conditions at the same state, with possibly different witnesses.
V, W₁ and W₂ are unconstrained wherever they are not used, so the walk on
the four variables projects onto the walk on states, which is what
DescriptiveComplexity.succinctReachable_iff_accepts says.
Building the sentences #
The three sentences share three generic shapes, stated over an arbitrary vocabulary so that the same builder and the same realization lemma serve the current copy of the block and the next one:
DescriptiveComplexity.clausesHoldS– “every clause of this group contains a true literal”, the kernel ofDescriptiveComplexity.satKernelwith its symbols abstracted;DescriptiveComplexity.agreeOnS– “on every marked element these two unary relations agree”;DescriptiveComplexity.writesS– “on the next-state copy of every marked element, this unary relation holds the value the other gives to the element itself”.
Three generic sentence shapes #
“Every clause of the group grp contains a literal that nu makes
true.”
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
“On every element marked by mark, the unary relations nu and st
agree.”
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
“Whenever y is the nxt-successor of an element x marked by mark,
nu holds of y exactly when st holds of x.”
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The block and the vocabularies #
The block of the SO(TC) specification of SUCCINCT-REACH: four unary relation variables – the state, the transition witness, and the two endpoint witnesses.
Equations
Instances For
Dependency graph
The relation variable holding the current state.
Instances For
Dependency graph
The relation variable holding the valuation witnessing the transition that entered the current state.
Instances For
Dependency graph
The relation variable holding the valuation witnessing the source condition.
Instances For
Dependency graph
The relation variable holding the valuation witnessing the target condition.
Instances For
Dependency graph
The symbol of the relation variable i of the block.
Equations
- DescriptiveComplexity.srSym i = ⟨i, ⋯⟩
Instances For
Dependency graph
The input vocabulary together with the order, over which the sentences of an SO(TC) specification live.
Instances For
Dependency graph
The vocabulary of the endpoint sentences: one copy of the block.
Equations
Instances For
Dependency graph
The vocabulary of the transition sentence: two copies of the block.
Equations
Instances For
Dependency graph
An input symbol, in the endpoint vocabulary.
Equations
Instances For
Dependency graph
A relation variable of the block, in the endpoint vocabulary.
Equations
Instances For
Dependency graph
An input symbol, in the transition vocabulary.
Equations
Instances For
Dependency graph
A relation variable of the current copy of the block, in the transition vocabulary.
Equations
Instances For
Dependency graph
A relation variable of the next copy of the block, in the transition vocabulary.
Equations
Instances For
Dependency graph
The SO(TC) specification of SUCCINCT-REACH. A transition holds when the next state's transition witness satisfies every transition clause, reads the current state on the state variables and writes the next state on their next-state copies; the endpoint conditions are the two clause groups checked against their own witnesses.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Reading the specification back #
The predicate held by the relation variable i in the assignment ρ.
Equations
- DescriptiveComplexity.srPred ρ i a = ρ i fun (x : Fin (DescriptiveComplexity.srBlock.arity i)) => a
Instances For
Dependency graph
The assignment holding the given four predicates.
Equations
- DescriptiveComplexity.srAssign f i v = f i (v ⟨0, Nat.zero_lt_one⟩)
Instances For
Dependency graph
Dependency graph
Splitting a conjunction of endpoint sentences, with the block expansion supplied explicitly: instance search does not see through the specification's block field.
Dependency graph
The same splitting for the transition sentence.
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
A starting state of the specification is a state whose W₁ component
witnesses the source condition.
Dependency graph
An accepting state of the specification is a state whose W₂ component
witnesses the target condition.
Dependency graph
A transition of the specification is a transition of the system, witnessed
by the V component of the state it enters.
Dependency graph
Correctness of the specification #
The specification is correct: it accepts a transition system exactly when some target state is reachable from some source state.
Dependency graph
SUCCINCT-REACH is SO(TC) definable: the walk on states is the walk of the specification, its extra components carrying the existential witnesses a transitive closure cannot quantify on its own.
Dependency graph
SUCCINCT-REACH is in PSPACE.