Documentation

DescriptiveComplexity.Problems.Qsat.Reach

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.

@[reducible, inline]

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
    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 #

        theorem DescriptiveComplexity.readsCur_congr {A : Type} [FirstOrder.Language.transSys.Structure A] {ν S S' : AProp} (h : stCls S = stCls S') (hr : ReadsCur A ν S) :
        ReadsCur A ν S'
        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.

        Dependency graph