The ladder, written with the relations a second-order block guesses #
A second-order block cannot guess a function A → Config A; it guesses the
three relations of DescriptiveComplexity.tmGuessBlock – Q t q, “the state at
time t is q”, H t p, “the head is on p”, and T t p a, “the cell p
holds a”. DescriptiveComplexity.Problems.Machine.Walk already relates the
two forms existentially
(DescriptiveComplexity.TMData.exists_relWalk_iff_exists_walk); the ladder
needs more, because its rounds alternate: a universal round quantifies over
all assignments and must be able to assume that the one it is given is
functional.
So this file is the pointwise dictionary. DescriptiveComplexity.Graphs ρ w
says the assignment ρ is the graph of the walk w; every assignment that is
functional is a graph (DescriptiveComplexity.exists_graphs) and every walk has
one (DescriptiveComplexity.graphOf), and each condition the game puts on a
walk gets a relational twin that agrees with it along the dictionary. The
transfer of a whole quantifier is
DescriptiveComplexity.bareQ_transfer, and the result is
DescriptiveComplexity.ATMData.altLadder_iff_runAltLadder.
One condition is not a transcription: “the walk stands still because it is
stuck” quantifies over the successor configurations, which a first-order
formula cannot do. It does not have to:
DescriptiveComplexity.TMData.exists_step_iff_appTr says a successor exists
exactly when an applicable transition does – the successor configuration can
be assembled from the transition's own data – and that is a first-order
condition on the transition table.
Applicable transitions #
A transition applies to the configuration c: it fires on the state
and the symbol under the head, it has a target state and a symbol to write, and
the head has somewhere to move. Unlike “c has a successor” this quantifies
only over elements of the universe.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Having a successor is having an applicable transition: the successor configuration is assembled from the transition, writing under the head and leaving every other cell alone.
Dependency graph
A guessed run, and the walk it is the graph of #
The state relation of a guessed run: at time t the state is q.
Equations
Instances For
Dependency graph
The head relation of a guessed run: at time t the head is on p.
Equations
Instances For
Dependency graph
The tape relation of a guessed run: at time t the cell p holds a.
Equations
- DescriptiveComplexity.runT ρ t p a = ρ DescriptiveComplexity.TMIdx.tape ![t, p, a]
Instances For
Dependency graph
The guess is functional, the six clauses that make it read as one configuration per time.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The guess is the graph of the walk w.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The graph of a walk, as an assignment of the guessing block.
Equations
- DescriptiveComplexity.graphOf w DescriptiveComplexity.TMIdx.state = fun (v : Fin 2 → A) => v 1 = (w (v 0)).state
- DescriptiveComplexity.graphOf w DescriptiveComplexity.TMIdx.head = fun (v : Fin 2 → A) => v 1 = (w (v 0)).head
- DescriptiveComplexity.graphOf w DescriptiveComplexity.TMIdx.tape = fun (v : Fin 3 → A) => v 2 = (w (v 0)).tape (v 1)
Instances For
Dependency graph
Dependency graph
Two values with the same graph are equal.
Dependency graph
A graph is functional.
Dependency graph
A functional guess is a graph: the configuration at each time is the one its three relations single out.
Dependency graph
Transferring a quantifier #
A quantifier over walks is a quantifier over functional guesses. The guard picks up the functionality clauses; everything else is read through the dictionary.
Dependency graph
The conditions of the game, relationally #
The state at time t is accepting.
Equations
- M.RunAcc ρ t = ∀ (q : A), DescriptiveComplexity.runQ ρ t q → M.Acc q
Instances For
Dependency graph
The state at time t is in block j.
Equations
- M.RunBlk ρ j t = ∀ (q : A), DescriptiveComplexity.runQ ρ t q → M.Blk j q
Instances For
Dependency graph
The state at time t is in a block below i.
Equations
- M.RunBlkLt ρ i t = ∀ (q : A), DescriptiveComplexity.runQ ρ t q → M.BlkLt i q
Instances For
Dependency graph
The configuration at time t is initial.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Some transition applies to the configuration at time t.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The configuration at time t' of ρ' is the one at time t of ρ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The step clause, relationally, is
DescriptiveComplexity.TMData.RelStep of the three relations.
Equations
- M.RunStep t t' = M.RelStep (DescriptiveComplexity.runQ ρ) (DescriptiveComplexity.runH ρ) (DescriptiveComplexity.runT ρ) t t'
Instances For
Dependency graph
The blocks of a guessed run never decrease.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A guessed run legal below block i.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The guessed run accepts: its state at the highest time is accepting.
Instances For
Dependency graph
The guessed run ρ' reproduces what ρ committed below block i.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The condition round i puts on its guess.
Equations
- M.RunRoundCond ρ ρ' i = (M.RunLegalBelow ρ' (i + 1) ∧ M.RunAgreeBelow ρ ρ' i)
Instances For
Dependency graph
The dictionary #
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
The ladder over guesses #
The ladder from round i on, over guessed runs.
Equations
Instances For
Dependency graph
The whole ladder, over guessed runs: the sentence's semantics.
Equations
- One or more equations did not get rendered due to their size.
- M.RunAltLadder start 0 = False
Instances For
Dependency graph
The ladder over walks is the ladder over guesses, from round i on.
Dependency graph
The whole ladder over walks is the whole ladder over guesses.