The rounds, one block at a time #
The induction that turns the machine into the quantifier prefix. Round m
starts at DescriptiveComplexity.AltQbf.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.AltQbf.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
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 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 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 tape is long enough #
The k rounds cost one sweep each and the check one sweep per clause, which is
what DescriptiveComplexity.AltQbf.alt_budget was proved for: the filler positions
alone outnumber them.
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.