A second-order quantifier prefix, played as a game #
The theorem: every second-order sentence – an alternating prefix of block
quantifiers over a first-order kernel – defines a second-order alternating game
(DescriptiveComplexity.SOGameSpec.accepts_gameOfSO), whence
DescriptiveComplexity.SigmaSODefinable.soGameDefinable and SO ⊆ SO-GAME.
It is the game counterpart of
DescriptiveComplexity.sotcDefinable_soProblem, which peels the same prefix
into the state of a walk. A walk can only guess, so a universal block has to
be complemented away there; a game has universal moves, so the prefix is peeled
one block at a time with no complementation
(DescriptiveComplexity.SOGameSpec.exBlock).
The construction #
DescriptiveComplexity.SOGameSpec.exBlock prefixes a game with one quantified
block. Its states are the assignments of SOBlock.cons B spec.B extended by a
phase (DescriptiveComplexity.SOGameSpec.Phase, three arity-0 tag bits, as
DescriptiveComplexity.SOBlock.withTag supplies them):
pick– the quantified block is chosen, by the existential or the universal player according to the polarity;start– the existential player chooses a starting state of the inner game. This phase is always existential and it is what a stuck position means: a specification with no starting state loses here, which is exactlyDescriptiveComplexity.SOGameSpec.Acceptsbeing false;play– the inner game is played, the chosen block frozen by every move (DescriptiveComplexity.SOGameSpec.frozenS).
Splitting pick from start is what makes the universal case correct: were the
choice of a starting state folded into a universal pick move, a block
assignment admitting no starting state would contribute no move at all and so
be silently skipped by the universal clause of
DescriptiveComplexity.SOGameSpec.Wins, instead of refuting it.
The phases #
The three phases of a prefixed game.
- pick : Phase
The quantified block is being chosen.
- start : Phase
A starting state of the inner game is being chosen.
- play : Phase
The inner game is being played.
Instances For
Dependency graph
Dependency graph
Equations
- One or more equations did not get rendered due to their size.
Dependency graph
The state block #
The states of a prefixed game: an assignment of the quantified block, one of the inner game's block, and a phase.
Equations
Instances For
Dependency graph
The state of a prefixed game at a phase, a chosen block and an inner state.
Equations
Instances For
Dependency graph
Dependency graph
Reading the inner game's sentences #
The inner game's one-copy vocabulary, read in a prefixed state: the quantified block and the inner block land in their components.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The inner game's one-copy vocabulary, read in the second copy of a prefixed state – what the move into the playing phase needs, the inner game's starting condition being about the state the move enters.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The inner game's two-copy vocabulary, read in a prefixed move: the quantified block is read in the first copy, which every move freezes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The phase, and freezing the quantified block #
The tag bit of a phase, in a one-copy state.
Equations
Instances For
Dependency graph
The state is a well-formed one at the phase p.
Equations
Instances For
Dependency graph
The tag bit of a phase, in the second copy of a two-copy state.
Equations
Instances For
Dependency graph
The second copy is a well-formed state at the phase p: its bit is set and
every other is not.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The relation variable i of the quantified block, in the first copy.
Equations
Instances For
Dependency graph
The relation variable i of the quantified block, in the second copy.
Instances For
Dependency graph
The quantified block's variable i is unchanged by the move.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The quantified block is frozen: every move of the playing phase leaves it alone.
Equations
Instances For
Dependency graph
Freezing, read #
The prefixed game #
A game, prefixed with one quantified block: the block is chosen at the
phase pick by the player the polarity names, a starting state of the inner
game at the phase start, and the inner game is played from there with the
block frozen.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
What the prefixed game wins #
The kernel, as a game with no move #
The game that decides a first-order sentence: no move, and the sentence decides the only position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The prefix, peeled one block at a time #
The game a second-order sentence defines: one quantified block per block of the prefix, and the kernel at the end.
Equations
- DescriptiveComplexity.SOGameSpec.gameOfSO [] x✝² x✝ x✝¹ = DescriptiveComplexity.SOGameSpec.kernelGame x✝² x✝
- DescriptiveComplexity.SOGameSpec.gameOfSO (B :: Bs) x✝² x✝ x✝¹ = DescriptiveComplexity.SOGameSpec.exBlock x✝² B x✝¹ (DescriptiveComplexity.SOGameSpec.gameOfSO Bs (x✝².sum B.lang) x✝ !x✝¹)
Instances For
Dependency graph
A second-order sentence is a second-order alternating game.
Dependency graph
SO ⊆ SO-GAME #
Every Σₖ-definable problem is a second-order alternating game.
Dependency graph
Every Πₖ-definable problem is a second-order alternating game.
Dependency graph
PH ⊆ SO-GAME: every problem of the polynomial hierarchy is the value
of a second-order alternating game. Read with
DescriptiveComplexity.SOGameDefinable.mem_EXPTIME it re-proves PH ⊆ EXPTIME,
this time through a game rather than through PSPACE.