The rounds, one block at a time #
The induction that turns the machine into the quantifier prefix. Round m
starts at DescriptiveComplexity.AtRound: the head at the first cell, the tape
holding what the blocks below m have written, and the state the entry of
sweep m – or, when every block has played, the entry of the check phase.
Each round is answered by whichever player owns its block, and the four corners
were built in AltGuess: an existential round picks an assignment
(altAcc_passes_up) and any accepting run of it hands one over
(exit_of_altAcc); a universal round survives all of them
(altAcc_of_inSweepR) and is followed along the run of any given one
(altAcc_passes_down). The base case is the check phase, decided both ways in
AltVerdict.
The read-off returns some assignment, not a chosen one, which is what an
existential round wants and a universal one does not. So a universal round does
not follow the read-off at all: it names the configuration it wants to hand
over (DescriptiveComplexity.exists_atRound) and appeals to the fact that
every successor of a universal configuration accepts.
Where the machine stands between rounds #
The entry of round m: the head at the first cell, the tape holding
what the blocks below m wrote, and the state the entry of sweep m – or,
once every block has played, the entry of the check phase, or acceptance
outright when there is nothing to check.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A round hands over to the next one.
Dependency graph
Before the last block has played, the entry of a round is the entry of its sweep.
Dependency graph
The entry of a round exists. Before the last block has played it is the entry of the next sweep; after it, the check phase starts at the lowest clause, or the machine accepts outright when there is nothing to check.
Dependency graph
The handover step. Whatever the entry of the next round is, the machine reaches it from the left marker in one step.
Dependency graph
A satisfied matrix leaves the last sweep somewhere to go.
Dependency graph
Replacing a block's assignment does not change the tape its own sweep starts from.
Dependency graph
The budget #
A round costs a sweep, and a universal round costs a walk up and back down the tape once for each of the two passes, whatever the play.
What one round costs: exactly the sweep it plays, whichever player owns it.
Equations
Instances For
Dependency graph
What the last r rounds cost, the check phase included.
Equations
Instances For
Dependency graph
The induction over rounds #
The machine plays the quantifier prefix. At the entry of round m, the
machine accepts exactly when the r blocks still to play can settle the
matrix – the round's own block quantified at the polarity its index gives it.
Both directions of both polarities are one line each, on top of the four
corners of AltGuess: the existential player picks and climbs, the universal
player is followed down one play at a time and survives all of them.
Dependency graph
The whole run #
The first sweep starts at the left marker rather than at the first cell, so the
run has one step to take before round 0 begins. It is a forced step – the
machine reads ⊢, which is not a guess – so it costs one unit of budget and
nothing else.
The machine has one initial configuration.
Dependency graph
The step over the left marker is forced: the machine reads ⊢, and
only one transition applies.
Dependency graph
The step over the left marker descends whatever the polarity.
Dependency graph
The run before round 0: one forced step.
Dependency graph
The machine plays the formula. Acceptance of the alternating machine is
the alternating quantification of the matrix over the k blocks – provided the
tape is long enough to hold the run, which
DescriptiveComplexity.alt_budget guarantees.
Dependency graph
The tape is long enough #
The k rounds cost one sweep each and the check one sweep per clause, which is
what DescriptiveComplexity.alt_budget was proved for: the filler positions
alone outnumber them.
Dependency graph
The whole run fits in the budget.
Dependency graph
The machine of a quantified Boolean formula accepts exactly when the
formula is true. The semantic half of QBF k ≤ᶠᵒ[≤] ATMAccept k: what is
left is to write the machine down in first-order logic.