Documentation

LeanPool.AFormalizationOfBorelDeterminacyInLean.Game.Player

LeanPool.AFormalizationOfBorelDeterminacyInLean.Game.Player #

Auxiliary declarations for the Borel determinacy formalization.

a player in a Gale-Stewart game

Instances For

    Tactic support used by the Borel determinacy formalization.

    Equations
    Instances For

      Tactic support used by the Borel determinacy formalization.

      Equations
      Instances For

        Tactic support used by the Borel determinacy formalization.

        Equations
        Instances For

          Auxiliary declaration for the Borel determinacy formalization.

          Equations
          Instances For

            Auxiliary declaration for the Borel determinacy formalization.

            theorem GaleStewartGame.Player.ext (p q : Player) (h : p.toNat = q.toNat) :
            p = q

            Auxiliary declaration for the Borel determinacy formalization.

            if p moves in position [], then p.residual x moves in position x

            Equations
            Instances For
              def GaleStewartGame.IsPosition {A : Type u_1} (x : List A) (p : Player) :

              is player p to move in position x?

              Equations
              Instances For
                @[simp]
                theorem GaleStewartGame.Player.residual_swap {A : Type u_1} (x : List A) (p : Player) :
                @[simp]
                theorem GaleStewartGame.Player.residual_residual {A : Type u_1} (p : Player) {x y : List A} :
                residual y (residual x p) = residual (x ++ y) p
                @[simp]
                theorem GaleStewartGame.Player.residual_even {A : Type u_1} (x : List A) (p : Player) (h : x.length % 2 = 0) :
                residual x p = p
                @[simp]
                theorem GaleStewartGame.Player.residual_odd {A : Type u_1} (x : List A) (p : Player) (h : x.length % 2 = 1) :
                @[simp]
                theorem GaleStewartGame.Player.residual_append_both {A : Type u_1} (x : List A) (p : Player) {y : List A} :
                residual (x ++ (y ++ x)) p = residual y p
                @[simp]
                theorem GaleStewartGame.Player.residual_cons {A : Type u_1} (x : List A) (p : Player) {a : A} :
                residual (a :: x) p = (residual x p).swap
                @[simp]
                theorem GaleStewartGame.Player.residual_append_cons {A : Type u_1} (x : List A) (p : Player) {a : A} {y : List A} :
                residual (x ++ a :: y) p = (residual (x ++ y) p).swap
                theorem GaleStewartGame.Player.residual_concat {A : Type u_1} (x : List A) (p : Player) {a : A} :
                residual (x ++ [a]) p = (residual x p).swap
                theorem GaleStewartGame.Player.residual_concat2 {A : Type u_1} (x : List A) (p : Player) {a b : A} :
                residual (x ++ [a, b]) p = residual x p