Documentation

DescriptiveComplexity.LogSpace

NL, by the Krom fragment #

The class NL: the problems definable in the Krom fragment SO-Krom of existential second-order logic (DescriptiveComplexity.SigmaSOKromDefinable), which captures nondeterministic logarithmic space on ordered structures (Grädel 1992). This is the same move as defining PTIME by the Horn fragment and NP by Σ₁-definability: the class is a definition, not an axiom, and it is a bona fide DescriptiveComplexity.ComplexityClass because SO-Krom definability is closed under (ordered) first-order reductions – the Krom shape survives the pullback, see DescriptiveComplexity.SecondOrderKromPull.

NL is not a level of the polynomial hierarchy of DescriptiveComplexity.Hierarchy, which is why it lives in its own file. What relates it to that hierarchy are two theorems that are not free here:

Note that the containment SO-Krom ⊆ NL on the machine side already uses Immerman–Szelepcsényi: satisfiability of a 2-CNF is the complement of a reachability condition on the implication graph. Nothing in this library depends on that, since NL is defined by the fragment rather than by a machine; it is why the fragment is the right primitive here.

The class NL: the problems definable in the Krom fragment SO-Krom of existential second-order logic, which captures nondeterministic logarithmic space on ordered structures (Grädel 1992).

Hardness is stated cofinally, exactly as for the other classes of this library (DescriptiveComplexity.CofinalHard); over a relational vocabulary it is the usual notion, DescriptiveComplexity.hard_NL_iff.

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

    Membership in NL is exactly SO-Krom definability, by definition.

    Dependency graph

    Over a relational vocabulary, NL-hardness is the usual notion: every SO-Krom definable problem reduces to P.

    Dependency graph
    @[reducible, inline]

    coNL, the complement class of NL. That it coincides with NL is Immerman–Szelepcsényi, not proved here (see the module docstring).

    Equations
    Instances For
      Dependency graph