Documentation

CombinatorialGames.Game.Small

Small games all around #

We define dicotic games, games x where both players can move from every nonempty subposition of x. We prove that these games are small, and relate them to infinitesimals.

TODO #

Dicotic games #

class IGame.Dicotic (x : IGame) :

A game x is dicotic if both players can move from every nonempty subposition of x.

Instances
    theorem IGame.dicotic_def {x : IGame} :
    x.Dicotic (moves left x = moves right x = ) ∀ (p : Player), lmoves p x, l.Dicotic
    theorem IGame.Dicotic.mk {x : IGame} (h₁ : moves left x = moves right x = ) (h₂ : ∀ (p : Player), ymoves p x, y.Dicotic) :
    theorem IGame.Dicotic.eq_zero_iff {x : IGame} [hx : x.Dicotic] :
    x = 0 ∃ (p : Player), moves p x =
    theorem IGame.Dicotic.ne_zero_iff {x : IGame} [x.Dicotic] :
    x 0 ∀ (p : Player), moves p x
    theorem IGame.Dicotic.of_mem_moves {x y : IGame} {p : Player} [hx : x.Dicotic] (h : y moves p x) :

    dicotic eagerly adds all possible Dicotic hypotheses.

    Equations
    Instances For
      @[simp]
      @[irreducible]
      instance IGame.Dicotic.neg (x : IGame) [x.Dicotic] :
      @[irreducible]
      theorem IGame.Dicotic.lt_of_numeric_of_pos (x : IGame) [x.Dicotic] {y : IGame} [y.Numeric] (hy : 0 < y) :
      x < y

      One half of the lawnmower theorem: any dicotic game is smaller than any positive numeric game.

      theorem IGame.Dicotic.lt_of_numeric_of_neg (x : IGame) [x.Dicotic] {y : IGame} [y.Numeric] (hy : y < 0) :
      y < x

      One half of the lawnmower theorem: any dicotic game is greater than any negative numeric game.