Documentation

LeanPool.MisereGames.Player

Misere combinatorial games.

Either the Left or Right player.

  • left : Player

    The Left player.

  • right : Player

    The Right player.

Instances For
    @[implicit_reducible]
    Equations
    @[reducible, inline]
    abbrev MisereGames.Player.cases {α : Sort u_1} (l r : α) :
    Playerα

    Specify a function Playerα from its two outputs.

    Equations
    Instances For
      theorem MisereGames.Player.apply_cases {α : Sort u_1} {β : Sort u_2} (f : αβ) (l r : α) (p : Player) :
      f (cases l r p) = cases (f l) (f r) p
      @[simp]
      theorem MisereGames.Player.cases_inj {α : Sort u_1} {l₁ r₁ l₂ r₂ : α} :
      cases l₁ r₁ = cases l₂ r₂ l₁ = l₂ r₁ = r₂
      theorem MisereGames.Player.const_of_left_eq_right {α : Sort u_1} {f : Playerα} (hf : f left = f right) (p q : Player) :
      f p = f q
      theorem MisereGames.Player.const_of_left_eq_right' {f : PlayerProp} (hf : f left f right) (p q : Player) :
      f p f q
      @[simp]
      theorem MisereGames.Player.forall {p : PlayerProp} :
      (∀ (x : Player), p x) p left p right
      @[simp]
      theorem MisereGames.Player.exists {p : PlayerProp} :
      (∃ (x : Player), p x) p left p right
      @[simp]
      theorem MisereGames.Player.absurd {p q : Player} (h1 : p = q) (h2 : p = -q) :