Basic definitions about impartial (pre-)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 G ≡ -G
. Despite this, the Sprague-Grundy theorem still holds: see
SetTheory.PGame.equiv_nim_grundyValue
.
In such a game, both players have the same payoffs at any subposition.
- out : SetTheory.PGame.ImpartialAux✝ G
Instances
instance
SetTheory.PGame.Impartial.moveRight_impartial
{G : PGame}
[h : G.Impartial]
(j : G.RightMoves)
:
@[irreducible]
theorem
SetTheory.PGame.Impartial.impartial_congr
{G H : PGame}
(e : G.Relabelling H)
[G.Impartial]
:
theorem
SetTheory.PGame.Impartial.forall_rightMoves_fuzzy_iff_equiv_zero
(G : PGame)
[G.Impartial]
:
theorem
SetTheory.PGame.Impartial.exists_right_move_equiv_iff_fuzzy_zero
(G : PGame)
[G.Impartial]
: