SUCCINCT-REACH as a Savitch recursion #
The first half of the reduction of SUCCINCT-REACH to QSAT: rewriting the
yes-instances of DescriptiveComplexity.SUCCINCTREACH – a reachability statement
with an unbounded number of steps – as the bounded, recursively doubled
statement DescriptiveComplexity.SavPow of DescriptiveComplexity.Savitch, whose
unfolding has depth equal to the number of state variables. That is the form a
quantifier prefix can express.
The vertices of the walk are not the states themselves – a state is a predicate
on the whole universe – but their restrictions to the state variables
(DescriptiveComplexity.stCls), since that is all the clause groups can read.
There are 2 ^ m such restrictions for m state variables
(DescriptiveComplexity.card_stateClass), so m levels of doubling suffice:
DescriptiveComplexity.succinctReachable_iff_savPow.
The state variables of an instance, as a type: the coordinates of a state that the clause groups can read.
Equations
Instances For
Dependency graph
The class of a state: its restriction to the state variables. Two states with the same class are interchangeable everywhere in the semantics.
Equations
- DescriptiveComplexity.stCls S x = S ↑x
Instances For
Dependency graph
Dependency graph
The number of state variables: the depth of the Savitch recursion the reduction writes as a quantifier prefix.
Equations
Instances For
Dependency graph
The semantics only sees a state through its class #
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The transition relation lives on the classes: it only depends on its two endpoints through their restrictions to the state variables.
Dependency graph
There are 2 ^ m classes of states for m state variables.
Dependency graph
SUCCINCT-REACH as a bounded, recursively doubled reachability statement.
The walk saturates after 2 ^ m moves, m the number of state variables, and
DescriptiveComplexity.SavPow at depth m is exactly that bound.