Documentation

DescriptiveComplexity.Problems.ReachabilityDet

REACHd: deterministic reachability, complete for LOGSPACE #

The problem REACHd – is some marked target reachable from some marked source along forced arcs? – over the same vocabulary FirstOrder.Language.stGraph as REACH. It is to DescriptiveComplexity.LOGSPACE what REACH is to DescriptiveComplexity.NL, and its two halves are the mirror image of that pair: membership because the problem is a deterministic walk, hardness because the graph of a deterministic walk is such a problem.

No promise, and why #

The textbook statement of REACHd restricts the input to graphs of outdegree at most one. A promise problem is awkward here: it would either need a well-formedness conjunct (DescriptiveComplexity.DecisionProblem.ofSentence) carried through every reduction, or leave the yes-instances undefined on the graphs that break the promise – and isomorphism-invariance would then have to be proved of a partial specification.

So the outdegree bound is imposed semantically instead, by the same move determinization makes one level up (DescriptiveComplexity.TCSpec.det): the walk may follow an arc only when it is the only arc out of its source (DescriptiveComplexity.DetEdge). Every marked graph is then a legal instance, the problem is invariant by transport, and on graphs that do have outdegree at most one it is exactly REACH (DescriptiveComplexity.detReachable_iff_reachable) – which is what the hardness proof uses, the interpreted graph of a deterministic walk being functional by construction.

Completeness #

The problem #

A forced arc: an arc that is the only one out of its source. Following these is the deterministic walk on a marked graph, with no promise on the instance.

Equations
Instances For
    Dependency graph

    Some marked target is reachable from some marked source along a (possibly empty) path of forced arcs.

    Equations
    Instances For
      Dependency graph

      On a graph of outdegree at most one, deterministic reachability is reachability: every arc is forced.

      Dependency graph
      Dependency graph

      REACHd, deterministic reachability: is a marked target reachable from a marked source along forced arcs?

      Equations
      Instances For
        Dependency graph

        Membership: REACHd is a deterministic transitive closure #

        The determinized walk of DescriptiveComplexity.reachSpec follows exactly the forced arcs. The uniqueness clause quantifies over successor nodes, which at a single mode and arity one are just the successor vertices.

        Dependency graph

        A path of forced arcs is a walk of the determinized specification.

        Dependency graph

        A walk of the determinized specification is a path of forced arcs.

        Dependency graph

        The determinized specification accepts exactly the graphs with a forced path from a marked source to a marked target.

        Dependency graph

        REACHd is FO(DTC) definable: it is a single deterministic transitive closure of the edge relation, at arity one – the specification of REACH read through its determinization.

        Dependency graph
        Dependency graph

        Hardness: the graph of a deterministic walk #

        Padding a specification with a spare mode preserves functionality: the spare mode has no transitions at all.

        Dependency graph
        theorem DescriptiveComplexity.functional_sgEdge_tcInterp {L : FirstOrder.Language} (spec : TCSpec L) {A : Type} [L.Structure A] [LinearOrder A] (h : spec.Functional A) (a b c : (TCDischarge.tcInterp spec).Map A) (hb : SGEdge a b) (hc : SGEdge a c) :
        b = c

        The graph interpreted from a functional specification has outdegree at most one: its arcs are the transitions of the walk.

        Dependency graph

        Correctness of the deterministic discharge: in the graph of a functional walk, deterministic reachability is reachability, hence acceptance.

        Dependency graph
        noncomputable def DescriptiveComplexity.dtcReduction {L : FirstOrder.Language} (spec : TCSpec L) (P : DecisionProblem L) (hP : ∀ (A : Type) [inst : L.Structure A] [inst_1 : LinearOrder A] [Finite A] [Nonempty A], P.Holds A spec.det.Accepts A) :

        The generic FO(DTC) reduction: an ordered first-order reduction to REACHd from any problem defined, on nonempty finite ordered structures, by a single deterministic transitive closure. The interpretation is the graph of the determinized walk – functional by construction, which is exactly the condition under which the target problem's forced arcs are all of its arcs.

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

          LOGSPACE-hardness of REACHd, machine-free: every FO(DTC) definable problem admits an ordered first-order reduction to REACHd.

          Dependency graph

          REACHd is LOGSPACE-hard: the FO(DTC) discharge, whose interpretation is the graph of the deterministic walk itself.

          Dependency graph

          REACHd is LOGSPACE-complete. Both halves are the same observation read in opposite directions: deterministic reachability is a deterministic transitive closure (membership), and a deterministic transitive closure is deterministic reachability in the graph of its walk (hardness). Compare REACH, whose NL-completeness needs Immerman–Szelepcsényi on the membership side; here nothing of the kind is required, the fragment issue that forces it not arising for an operator-based logic.

          Dependency graph