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 #
- Membership (
DescriptiveComplexity.reachd_dtcDefinable): REACHd is a single deterministic transitive closure, at arity one and with a single mode – the very specificationDescriptiveComplexity.reachSpecthat witnessesDescriptiveComplexity.reach_tcDefinable, read through its determinization. The determinized step relation isDescriptiveComplexity.DetEdge. - The complement, UNREACHd, is complete as well
(
DescriptiveComplexity.UNREACHd_LOGSPACE_complete, inDescriptiveComplexity.Problems.ReachabilityDet.Complement), which is howL = coLis obtained. - Hardness (
DescriptiveComplexity.reachd_hard_of_dtcDefinable): the interpretation is the graph of the walk itself (DescriptiveComplexity.TCDischarge.tcInterp), reused verbatim from the FO(TC) discharge; all that is new is that the walk of a determinized specification is functional, so that reachability in the interpreted graph and deterministic reachability agree.
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
- DescriptiveComplexity.DetEdge a b = (DescriptiveComplexity.SGEdge a b ∧ ∀ (c : A), DescriptiveComplexity.SGEdge a c → c = b)
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
Deterministic reachability is isomorphism-invariant.
Dependency graph
REACHd, deterministic reachability: is a marked target reachable from a marked source along forced arcs?
Equations
- DescriptiveComplexity.REACHd = { Holds := fun (A : Type) (inst : FirstOrder.Language.stGraph.Structure A) => DescriptiveComplexity.DetReachable A, iso_invariant := ⋯ }
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
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
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.