Nondeterministic logarithmic space in FO(TC) #
On the library's canonically ordered finite structures, every query whose source-only encoded
language belongs to native NL is defined by one FO(TC) sentence whose closures all occur
positively. With the forward inclusion TCDefinable.encodedLanguage_mem_NL, this gives
FO(TC) = FO(positive TC) = NL.
A configuration of the logarithmic-space machine is a tuple of registers
(ConfigurationGraph.stepFormula), one universe element per register. On the power universe
Fin (n ^ K) with K chosen from the machine's space bound, every reachable configuration fits,
so the acceptance sentence ∃ X Y, start X ∧ accept Y ∧ TC[step](X, Y) holds exactly when the
machine accepts. Pullback along the canonical full-tuple interpretation gives one sentence over
the original input universe.
Main definitions #
Cslib.Complexity.ConfigurationGraph.acceptanceSentence: some start register tuple reaches an accepting one by a single positive closure ofstepFormula.
Main results #
Cslib.Complexity.ConfigurationGraph.realize_acceptanceSentence: the acceptance sentence holds exactly when the machine accepts, on every universe containing all reachable registers.realize_acceptanceSentence_closureBystates this for every transported closure semantics whose transform fixes the register step relation.Cslib.Logic.Vocabulary.exists_pow_fits: a power universen ^ Kholds every reachable configuration of a logarithmic-space machine.Cslib.Logic.FO.Ordered.exists_sentence_of_decidesInSpace: the sentence for a logarithmic-space decider, under every such closure semantics.Cslib.Logic.FO.Ordered.PosTCDefinable.of_encodedLanguage_mem_NL: NL ⊆ FO(positive TC).Cslib.Logic.FO.Ordered.posTCDefinable_iff_encodedLanguage_mem_NL,Cslib.Logic.FO.Ordered.tcDefinable_iff_encodedLanguage_mem_NL: FO(positive TC) and FO(TC) capture nativeNL.Cslib.Logic.FO.Ordered.tcDefinable_iff_posTCDefinable: negated closures add nothing.
References #
- N. Immerman, Languages That Capture Complexity Classes, Theorem 3.1: NL is the class of queries definable in FO(positive TC) on ordered structures. Its proof codes an instantaneous description by a fixed tuple of variables and takes one closure of the first-order successor relation. Here a description is a tuple of registers on a power universe, and the numeric vocabulary is order, BIT, zero, one and maximum rather than successor, zero and maximum.
- N. Immerman, Nondeterministic Space is Closed Under Complementation, Corollary 3: FO(positive TC) = FO(TC).
Acceptance by reachability: some start register tuple reaches a halted register tuple
with output tag 1 along stepFormula. The sentence has one closure, of width the number of
registers, at positive polarity.
Instances For
The acceptance sentence uses its closure positively.
The acceptance sentence decides acceptance under every transported closure semantics
TC.Tuple.closureBy T whose transform fixes the register step relation on Fin N: on a universe
Fin N that contains the input length and every register of every reachable configuration, the
sentence holds exactly when the machine accepts. Ordinary closure is T = id
(realize_acceptanceSentence); deterministic closure is the deterministic reduct, which fixes the
step relation of a deterministic machine.
The acceptance sentence decides acceptance: on a universe Fin N that contains the
input length and every register of every reachable configuration, the acceptance sentence holds
exactly when the machine accepts.
Logarithmic-space configurations fit a power universe: for a vocabulary and a space
constant there is a power K ≥ 1 bounding all relation arities such that on every well-formed
input of cardinality at least two, the power universe a.1 ^ K is longer than the encoding and
contains every register of every view reachable by a machine with states State that runs within
space c * (log₂ n + 1).
A machine sentence for every logarithmic-space decider: a query whose source-only encoded
language is decided by a native machine within logarithmic space is defined by one sentence with a
single positive closure, read under every transported closure semantics TC.Tuple.closureBy T
whose transform fixes the machine's register step relation on every Fin N. Ordinary closure
gives NL ⊆ FO(positive TC); deterministic closure and a deterministic machine give
L ⊆ FO(DTC).
NL ⊆ FO(positive TC) on canonically ordered structures: a query whose source-only encoded language is decided by a native nondeterministic logarithmic-space machine is defined by one FO(TC) sentence with a single, positive closure.
FO(positive TC) captures NL: a single FO(TC) sentence with positive closures defines an ordered query exactly when its source-only language is in native nondeterministic logarithmic space.
FO(TC) captures NL ([Imm88], Corollary 3): a single FO(TC) sentence defines an ordered query exactly when its source-only language is in native nondeterministic logarithmic space.
Negated closures add nothing on canonically ordered structures: every FO(TC) query has a sentence whose closures all occur positively.