Documentation

DescriptiveComplexity.Problems.SuccinctReach.Defs

SUCCINCT-REACH: reachability in a propositionally described transition system #

The vocabulary and semantics of the canonical PSPACE problem of this library: reachability in a graph whose vertices are the truth assignments to a set of state variables and whose edges, source set and target set are described by three CNF formulas rather than listed. The graph has exponentially many vertices in the size of the instance – it is succinctly represented – which is exactly why walking it costs polynomial space and not polynomial time.

Under other names the same problem is propositional STRIPS plan existence, and it is the reachability query at the heart of symbolic model checking.

The instance #

An instance is a FirstOrder.Language.transSys-structure. Its elements are propositional variables and clauses at once, as in FirstOrder.Language.sat, with

Variables that are neither state variables nor next-state copies are auxiliary: they are quantified existentially inside each clause group, which is what lets a CNF describe an arbitrary transition relation (a Tseitin encoding introduces exactly such variables for its gates).

The semantics #

A state is an arbitrary predicate on the universe; only its restriction to the state variables matters, since that is all the clause groups can read (DescriptiveComplexity.ReadsCur). There is a transition from S to S' when some assignment satisfies every transition clause while reading S on the state variables and writing S' on their next-state copies (DescriptiveComplexity.StepRel). The instance is a yes-instance when some target state is reachable from some source state (DescriptiveComplexity.SuccinctReachable).

This is the syntactic image of SO(TC), in the same sense that a CNF is the syntactic image of an existential second-order block: a state is a monadic relation variable, a transition is a first-order condition on two consecutive states, and reachability is the transitive closure. That is what makes the membership half cheap (DescriptiveComplexity.Problems.SuccinctReach.Membership) and the hardness half a Tseitin translation.

Relation symbols of the language of propositionally described transition systems.

Instances For
    Dependency graph
    def FirstOrder.Language.instDecidableEqTransSysRel.decEq {a✝ : } (x✝ x✝¹ : transSysRel a✝) :
    Decidable (x✝ = x✝¹)
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Dependency graph
      Dependency graph

      The relational vocabulary of succinctly described transition systems: the state variables and their next-state copies, three groups of clauses, and the two literal-occurrence predicates of FirstOrder.Language.sat.

      Equations
      Instances For
        Dependency graph
        Dependency graph
        @[reducible, inline]

        The symbol for “is a state variable”.

        Equations
        Instances For
          Dependency graph
          @[reducible, inline]

          The symbol for “is the next-state copy of”.

          Equations
          Instances For
            Dependency graph
            @[reducible, inline]

            The symbol for “is a clause of the transition formula”.

            Equations
            Instances For
              Dependency graph
              @[reducible, inline]

              The symbol for “is a clause of the source formula”.

              Equations
              Instances For
                Dependency graph
                @[reducible, inline]

                The symbol for “is a clause of the target formula”.

                Equations
                Instances For
                  Dependency graph
                  @[reducible, inline]

                  The symbol for “occurs positively in”.

                  Equations
                  Instances For
                    Dependency graph
                    @[reducible, inline]

                    The symbol for “occurs negatively in”.

                    Equations
                    Instances For
                      Dependency graph

                      A valuation satisfies a group of clauses when every clause of the group contains a literal it makes true. Elements that are not clauses of the group impose nothing, exactly as in DescriptiveComplexity.Satisfiable.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        Dependency graph

                        The valuation ν reads the state S: on every state variable it agrees with S. This is the only way a clause group sees the current state.

                        Equations
                        Instances For
                          Dependency graph

                          The valuation ν writes the state S': on the next-state copy of every state variable it holds exactly the value S' gives to that variable.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            Dependency graph

                            One transition of the system: some valuation satisfies every transition clause while reading S on the state variables and writing S' on their next-state copies. The valuation is existentially quantified, so the auxiliary variables of the transition formula are free to take whatever values the clauses need.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              Dependency graph

                              A state is a source state when some valuation reading it satisfies every clause of the source formula.

                              Equations
                              Instances For
                                Dependency graph

                                A state is a target state when some valuation reading it satisfies every clause of the target formula.

                                Equations
                                Instances For
                                  Dependency graph

                                  The yes-instances of SUCCINCT-REACH: some target state is reachable from some source state along the transitions described by the clauses.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    Dependency graph

                                    Isomorphism-invariance #

                                    Everything transports along the push-forward of a predicate through the isomorphism; each piece of the semantics is pushed in one direction only, and the equivalence comes from applying the result to the inverse isomorphism.

                                    Dependency graph

                                    SUCCINCT-REACH, as a problem on FirstOrder.Language.transSys-structures: is some target state reachable from some source state in the transition system described by the three clause groups?

                                    Equations
                                    Instances For
                                      Dependency graph