Misere combinatorial games.
Short games #
A combinatorial game is Short if it is finite and loopfree: it has only
finite many distinct subpositions, and every run has finite length. See
[Siegel, Definition 4.1 on p. 34][siegel:CombinatorialGameTheory:2013].
@[irreducible]
Short forms have finitely many options, all of which are short.
Equations
- MisereGames.Form.IsShort x = ∀ (p : MisereGames.Player), (MisereGames.Moves.moves p x).Finite ∧ ∀ y ∈ MisereGames.Moves.moves p x, MisereGames.Form.IsShort y
Instances For
theorem
Moves.IsOption.short
{G : Type (u + 1)}
[MisereGames.Form G]
{x y : G}
(hx : MisereGames.Form.IsShort x)
(h : MisereGames.Moves.IsOption y x)
:
Alias of MisereGames.Form.Short.isOption.
theorem
MisereGames.Form.Short.subposition
{G : Type (u + 1)}
[Form G]
{x y : G}
(hx : IsShort x)
(h : Subposition y x)
:
IsShort y
theorem
Moves.IsOption.subposition
{G : Type (u + 1)}
[MisereGames.Form G]
{x y : G}
(hx : MisereGames.Form.IsShort x)
(h : MisereGames.Moves.Subposition y x)
:
Alias of MisereGames.Form.Short.subposition.
theorem
MisereGames.Form.Short.ofSets
{G : Type (u + 1)}
[Form G]
{s t : Set G}
[Small.{u, u + 1} ↑s]
[Small.{u, u + 1} ↑t]
(hs_fin : s.Finite)
(hs_short : ∀ g ∈ s, IsShort g)
(ht_fin : t.Finite)
(ht_short : ∀ g ∈ t, IsShort g)
:
IsShort !{s | t}
@[simp]
theorem
MisereGames.Form.Short.ofNat
{G : Type (u + 1)}
[Form G]
(n : ℕ)
[n.AtLeastTwo]
:
IsShort (OfNat.ofNat n)