The prefix phases play the alternating prefix #
The first of the two correctness halves of the graph game: from a phase
pre s tx ty j pol, the game plays exactly j more rounds, alternating from
pol, and is then decided by the kernel of the question s
(DescriptiveComplexity.ExpExpansion.wins_pre). The proof is a plain induction
on j against DescriptiveComplexity.altBlockQuant's own recursion – which is
what carrying the polarity in the phase buys.
Two things make the base and the step line up.
- A leaf is existential and moveless.
movesFromreturns[]atj = 0andPh.IsUnivis false there, so the position wins exactly when it wins outright, i.e., exactly when the kernel holds. A question the player cannot prove therefore loses, which is the whole point of asking it as a move. - Filling a round is changing one round. The move out of
pre … (j+1) …freezes every round butn - (j + 1), andDescriptiveComplexity.ExpExpansion.fillRounds_succis the identity between fillingj + 1rounds of the state left and fillingjrounds of the state entered.
Dependency graph
Dependency graph
Filling the last rounds #
The rounds ρs with the last k overwritten by τs, in order.
Equations
Instances For
Dependency graph
Dependency graph
Filling one more round is filling one fewer round of the state the move enters, provided that state differs from the one it leaves only at the round being filled.
Dependency graph
The moves out of a prefix phase #
Dependency graph
Dependency graph
The prefix phases #
A prefix phase plays the prefix. From pre s tx ty j pol the game fills
the last j rounds, alternating from pol, and the kernel of s decides the
leaf.