A round of the game, played by either player #
What a sweep amounts to, whichever player owns its block. Its moves are exactly
the truth assignments of the block: for an existential block the machine picks
one, for a universal block it must survive all of them, and
DescriptiveComplexity.inSweepR_step / DescriptiveComplexity.inSweepL_step
say that every play is the run of some assignment.
The universal half needs two things beyond the read-off. The sweep is never
stuck (DescriptiveComplexity.exists_step_of_inSweepR,
DescriptiveComplexity.exists_step_of_inSweepL) – at a cell it may keep or set
the value, at the markers it turns or hands over – and it terminates, the head
moving up until the turn and down afterwards. Both are needed because a
universal configuration accepts only when it has a successor and all of them
accept, so an induction on the budget alone would never reach its base case.
The one place the handover can genuinely be stuck is the left marker of the
last sweep, where the machine passes to the check phase: a disjunctive matrix
with no term at all has nothing to check and nothing to accept. That is
DescriptiveComplexity.CanHandOver, and it is exactly the case where the
formula is false.
The block of a sweeping state #
A sweeping state is universal exactly when its block is.
Dependency graph
The sweep is never stuck #
A position at or below the last cell is the left marker or a cell.
Dependency graph
A position between the first cell and the right marker is a cell or the right marker.
Dependency graph
A cell has a position above it: the right marker.
Dependency graph
A cell has a position below it: the left marker.
Dependency graph
The rightward pass always has a move: at a cell it keeps the value it reads, and at the right marker it turns.
Dependency graph
The last sweep can hand over: either there is a clause to check, or there is none and the matrix is conjunctive, so the machine accepts outright. This fails only for a disjunctive matrix with no term, which is the false formula.
Equations
- DescriptiveComplexity.AltQbf.CanHandOver k A cnf = ((∃ (c₀ : A), DescriptiveComplexity.AltQbf.QbfMinCl k c₀) ∨ cnf = true ∧ ∀ (e : A), ¬DescriptiveComplexity.AltQbf.QbfCl k e)
Instances For
Dependency graph
The leftward pass always has a move, given that the handover is available: at a cell it steps back, at the left marker it passes the tape on.
Dependency graph
A universal round survives every play #
Two inductions, one per pass, on the only quantity that changes monotonically: the rank of the head, which rises during the rightward pass and falls during the leftward one. The budget is threaded through as a bound rather than as a step count, since a universal player is answered by all plays at once and there is no single run to count.
The number of positions on the tape: the yardstick a sweep is measured against.
Equations
Instances For
Dependency graph
The leftward pass of a universal round accepts, given that whatever it hands over accepts.
Dependency graph
The rightward pass of a universal round accepts. The measure is what the head has left to climb; at the turn the leftward pass takes over, with what it has left to descend. The two together are the length of the sweep, so a universal round costs no more than the run it must survive.
Dependency graph
Following a run of universal configurations #
A universal configuration accepts only if every successor does, so acceptance
descends along any run that stays universal – in particular along the intended
run of a given assignment, which is how a universal round is read for one play
at a time. These mirror DescriptiveComplexity.TMData.stepsIn_of_segment and
its downward twin, and could be hoisted beside them.
Acceptance descends across a step when the step is not a choice: either the state is universal, and then every successor accepts, or it is the only step available, and then the successor the machine picks is that one.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
One step down.
Dependency graph
Down a rising segment.
Dependency graph
Down a falling segment.
Dependency graph
A universal round, followed for one assignment at a time #
A sweeping state is not accepting.
Dependency graph
The steps a sweep takes before handing over: up to the right marker, round, and back to the left one.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
A universal round, followed along the run of one assignment. Both passes are runs of universal configurations, so acceptance descends along them: whatever the round's assignment, the configuration it leaves at the left marker accepts too.
Dependency graph
Following a run of existential configurations #
The mirror of the descent: an existential configuration accepts as soon as one successor does, so acceptance climbs back up any run whose configurations all belong to the machine. This is how an existential round plays the assignment it has chosen.
One step up.
Dependency graph
Up a rising segment.
Dependency graph
Up a falling segment.
Dependency graph
An existential round, played along the run of the assignment it picks.
The mirror of DescriptiveComplexity.altAcc_passes_down: acceptance at the
left marker, where the round hands over, climbs back to its entry.
Dependency graph
An existential round, and reading any round off an accepting run #
Being somewhere in the sweep of round i, on either pass.
Equations
Instances For
Dependency graph
A sweep either continues or hands over, whatever the machine does.
Dependency graph
The state of a sweeping configuration.
Dependency graph
A sweeping configuration is not accepting.
Dependency graph
The moves of an existential round belong to the machine.
Dependency graph
Any accepting run of a round hands over an assignment. Whichever player owns the block, an accepting configuration has an accepting successor – the one it picks, or any of the ones it must survive – and following those successors reaches the handover, since a sweeping state never accepts.