Misere combinatorial games.
Birthdays of games #
There are two related but distinct notions of a birthday within combinatorial
game theory. One is the birthday of an GameForm, which represents the "step"
at which it is constructed; the day on which it is born. This is sometimes
called the formal birthday of a game (see [Siegel, Definition 1.27 on p.
61][siegel:CombinatorialGameTheory:2013]).
It can be defined recursively as the least ordinal strictly larger than the birthdays of its Left and Right options.
The birthday of an GameForm can also be understood as the depth of its game
tree.
The birthday of a form is inductively defined as the least ordinal strictly larger than the birthdays of its options. It may be thought as the "step" in which the given game is constructed.
Equations
- MisereGames.Form.birthday x = ⨆ (y : { y : G // MisereGames.Moves.IsOption y x }), Order.succ (MisereGames.Form.birthday ↑y)
Instances For
Add birthday inequalities from move hypotheses, then simplify birthday arithmetic.
Equations
- MisereGames.Form.gameformBirthday = Lean.ParserDescr.node `MisereGames.Form.gameformBirthday 1024 (Lean.ParserDescr.nonReservedSymbol "gameform_birthday" false)