The space-bounded machine problems are in PSPACE #
The membership half of the machine bridge for PSPACE. A configuration of a
machine is a state, a head position and a tape, and each of the three is a
relation on the universe: the tape is a binary relation (the graph of a
function), the state and the head are unary marks (singletons). So a
configuration is an assignment of a three-variable block
(DescriptiveComplexity.mBlock), one step of the machine is a first-order
condition on two consecutive assignments, and acceptance – reachability in the
configuration graph, since DescriptiveComplexity.TMData.AcceptsSpace has no step
bound – is a transitive closure over those assignments. That is an SO(TC)
specification on the nose.
This is the same phenomenon as for SUCCINCT-REACH: the problem is the syntactic
image of the logic, so membership is a transcription rather than a construction.
Nothing here plays the role of DescriptiveComplexity.Problems.Machine.Walk,
which exists only to cash in the unary time bound of the time-bounded model by
indexing a run by the positions; with the bound dropped a run may be
exponentially long and no longer fits in the structure, which is precisely why
the space-bounded problems are SO(TC) rather than Σ₁.
The one wrinkle is that an assignment of the block is an arbitrary triple of
relations, while a configuration is a functional total tape and two
singletons. That is a first-order condition (DescriptiveComplexity.cfgS), it
holds of every assignment coming from a configuration, and the transition
sentence demands it of the state it moves to, so every state along an accepting
walk is a configuration.
The formula builders #
Kept in a namespace of their own: the shapes below (wfF, stepF, …) are the
transcription of one machine model into sentences, and their names are the
generic ones the other reduction layers of the catalog also use.
Generic sentence shapes #
Each builder is parameterized by the relation symbols it reads, so that the same one serves over the one-copy and the two-copy expansions.
The tape is total: every cell holds a symbol.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The tape is functional: a cell holds at most one symbol.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The mark is inhabited.
Equations
Instances For
Dependency graph
The mark holds of at most one element.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The assignment is a configuration: a total functional tape and two singleton marks.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The guarded conjuncts #
Everything the first mark holds of, the second holds of too.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The marked position is a least position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The tape is an initial tape: each cell holds its input symbol where the input is defined, and the blank elsewhere.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The conjuncts of the transition sentence #
The transition has the marked element as its source (or destination).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The transition reads (or writes) the symbol held by the marked cell.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Cells other than the marked one hold the same symbol before and after.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
y is the position immediately after x.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The head moves to the neighbouring position in the direction the transition names.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Well-formedness #
The relation is a linear order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Well-formedness of the instance, as a sentence: the order is linear, there is a position, the input is functional, and there is exactly one blank.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
The transition sentence #
One step of the machine, as a condition on two consecutive assignments.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
At most one transition applies in a given state on a given symbol.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Determinism of the instance, as a sentence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
The block and the specification #
The block whose assignments are the configurations: the tape as a binary relation variable, the state and the head as unary marks.
Equations
Instances For
Dependency graph
The symbol for the tape.
Instances For
Dependency graph
The symbol for the state.
Equations
Instances For
Dependency graph
The symbol for the head.
Equations
Instances For
Dependency graph
The ordered expansion of the machine vocabulary.
Equations
Instances For
Dependency graph
The vocabulary of a one-copy expansion by the block.
Equations
Instances For
Dependency graph
The vocabulary of a two-copy expansion by the block.
Equations
Instances For
Dependency graph
A machine symbol in the one-copy expansion.
Equations
Instances For
Dependency graph
The tape of the state, in the one-copy expansion.
Instances For
Dependency graph
The state mark, in the one-copy expansion.
Instances For
Dependency graph
The head mark, in the one-copy expansion.
Instances For
Dependency graph
A machine symbol in the two-copy expansion.
Equations
Instances For
Dependency graph
The tape of the current state.
Instances For
Dependency graph
The state mark of the current state.
Instances For
Dependency graph
The head mark of the current state.
Instances For
Dependency graph
The tape of the next state.
Instances For
Dependency graph
The state mark of the next state.
Instances For
Dependency graph
The head mark of the next state.
Instances For
Dependency graph
The specification: the states are the configurations, the transition is one step of the machine, the starting states are the initial configurations of a well-formed instance and the accepting ones are those in an accepting state.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The deterministic specification: the same walk, with determinism of the instance demanded of the starting states.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Reading a state back as a configuration #
The tape held by a state of the walk.
Instances For
Dependency graph
The state mark held by a state of the walk.
Instances For
Dependency graph
The head mark held by a state of the walk.
Instances For
Dependency graph
A state of the walk is a configuration: its tape is total and functional and its two marks are singletons.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The state of the walk that a configuration is.
Equations
- DescriptiveComplexity.SpaceTM.cfgAssign c none = fun (x : Fin (DescriptiveComplexity.SpaceTM.mBlock.arity none) → A) => c.tape (x 0) = x 1
- DescriptiveComplexity.SpaceTM.cfgAssign c (some false) = fun (x : Fin (DescriptiveComplexity.SpaceTM.mBlock.arity (some false)) → A) => x 0 = c.state
- DescriptiveComplexity.SpaceTM.cfgAssign c (some true) = fun (x : Fin (DescriptiveComplexity.SpaceTM.mBlock.arity (some true)) → A) => x 0 = c.head
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The configuration a state of the walk is, when it is one.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The symbols, read back #
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
A state of the walk represents a configuration.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Correctness #
One step of the machine, read off two states of the walk.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The transition sentence is one step of the machine, on states that represent configurations.
Dependency graph
Every state reachable from one representing a configuration represents one too, and the walk is a run of the machine.
Dependency graph
Dependency graph
The specification is correct: its walk accepts exactly the well-formed instances whose machine accepts in bounded space.
Dependency graph
Dependency graph
Dependency graph
The two problems are in PSPACE #
The space-bounded nondeterministic machine problem is in PSPACE: a configuration is an assignment of the block, a step is a first-order condition on two of them, and an unbounded run is their transitive closure.
Dependency graph
NTMAcceptSpace ∈ PSPACE.
Dependency graph
The space-bounded deterministic machine problem is in PSPACE: the same walk, with determinism of the instance checked by the source sentence.
Dependency graph
DTMAcceptSpace ∈ PSPACE.