Basic definitions about impartial games #
We will define an impartial game, one in which left and right can make exactly the same moves. Our definition differs slightly by saying that the game is always equivalent to its negative, no matter what moves are played. This allows for games such as poker-nim to be classified as impartial.
An impartial game is one that's equivalent to its negative, such that each left and right move is also impartial.
Note that this is a slightly more general definition than the one that's usually in the literature,
as we don't require x = -x. Despite this, the Sprague-Grundy theorem still holds: see
IGame.equiv_nim_grundyValue.
In such a game, both players have the same payoffs at any subposition.
- of_ImpartialAux :: (
- out : IGame.ImpartialAux✝ x
- )
Instances
impartial eagerly adds all possible Impartial hypotheses.
Equations
- IGame.Impartial.tacticImpartial = Lean.ParserDescr.node `IGame.Impartial.tacticImpartial 1024 (Lean.ParserDescr.nonReservedSymbol "impartial" false)
Instances For
A strategy stealing argument. If there's a move in x, such that any immediate move could
have also been reached in the first turn, then x is won by the first player.