One block at a time: collapsing the moves of a player into a single play #
The mathematical content of the machine bridge for the polynomial hierarchy.
DescriptiveComplexity.ATMData.AltAcc recurses one step at a time, handing
each move to the owner of the current state's block; a Σₖ definition, and the
k-round game it describes, hands each player all of its moves at once. That
the two agree is the content of this file, and it is where the alternation
bound is spent: because a transition never decreases the block index and never
raises it by more than one
(DescriptiveComplexity.ATMData.BlocksWellFormed), the times at which a given
player moves form one contiguous stretch of the run – a play of the block –
and the whole stretch may be committed in a single quantifier.
The two collapses #
A play of block i from c (DescriptiveComplexity.ATMData.BlockPlay) is a
sequence of genuine steps whose configurations are, up to the last one, in
block i and not accepting: it stops exactly when the machine accepts or hands
over to block i + 1.
- Existential (
DescriptiveComplexity.ATMData.altAcc_iff_exists_play): a configuration of an existential block accepts exactly when some play of the block ends accepting, or hands a configuration over to blocki + 1which itself accepts with the remaining budget. - Universal (
DescriptiveComplexity.ATMData.altAcc_iff_forall_play): a configuration of a universal block accepts exactly when every play of the block is all right – it hands over only accepting configurations, and it can never stall inside the block, neither by getting stuck nor by exhausting the budget. The second clause is the “a stuck universal state rejects” convention ofDescriptiveComplexity.MachinesAltin the form the proofs use.
Both statements are equivalences, and both are proved by induction on the budget with the play generalized, so no strategy tree is ever built.
Reading the block structure #
A state has only one block.
Dependency graph
A state of an existential block belongs to the existential player.
Dependency graph
A state of a universal block belongs to the universal player.
Dependency graph
A step stays in its block or moves to the next one: the alternation bound, read on a single step.
Dependency graph
Plays of a block #
A play of block i from c: ℓ genuine steps, whose configurations
before the last one are in block i and not accepting. A play therefore stops
as soon as the machine accepts or hands over to the next block, and its last
configuration is the one the next round of the game starts from.
Equations
Instances For
Dependency graph
A play of an existential block ends well: accepting, or handing an
accepting configuration over to block i + 1.
Equations
Instances For
Dependency graph
A play of a universal block is all right: what it hands over to block
i + 1 accepts, and if it is still inside the block without having accepted
then it can – and must – go on, so the universal player can neither get stuck
nor run the budget out inside the block.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Prepending and shifting a play #
The play f with c prepended.
Equations
- DescriptiveComplexity.ATMData.consPlay c f 0 = c
- DescriptiveComplexity.ATMData.consPlay c f j.succ = f j
Instances For
Dependency graph
Dependency graph
Dependency graph
Prepending a step to a play of the same block.
Dependency graph
The play f with its first configuration dropped.
Dependency graph
Running an existential play #
A run of moves that all belong to the existential player accepts as soon as its end does. This is the “easy” half of both collapses: the budget is spent one step at a time, and each step is a legitimate existential choice.
Dependency graph
The existential collapse #
The moves of an existential block collapse into one play.
Dependency graph
The universal collapse #
The moves of a universal block collapse into one play.