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).
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.
@[irreducible]
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
- Form.birthday x = ⨆ (y : { y : G // Moves.IsOption y x }), Order.succ (Form.birthday ↑y)
Instances For
theorem
Form.birthday_eq_max
{G : Type (u + 1)}
[g_form : Form G]
(x : G)
:
birthday x = max (⨆ (y : ↑(moves Player.left x)), Order.succ (birthday ↑y))
(⨆ (y : ↑(moves Player.right x)), Order.succ (birthday ↑y))
@[irreducible]
theorem
Form.birthday_lt_of_subposition
{G : Type (u + 1)}
[g_form : Form G]
{x y : G}
(hy : Subposition y x)
:
@[simp]
theorem
Form.birthday_ofSets
{G : Type (u + 1)}
[g_form : Form G]
(s t : Set G)
[Small.{u, u + 1} ↑s]
[Small.{u, u + 1} ↑t]
:
@[simp]
theorem
Form.birthday_ofSets_const
{G : Type (u + 1)}
[g_form : Form G]
(s : Set G)
[Small.{u, u + 1} ↑s]
:
@[simp]
Equations
- Form.tacticGameform_birthday = Lean.ParserDescr.node `Form.tacticGameform_birthday 1024 (Lean.ParserDescr.nonReservedSymbol "gameform_birthday" false)