Documentation

LeanPool.MisereGames.Form.Classes

Misere combinatorial games.

def MisereGames.Form.IsLong {G : Type (u + 1)} (x : G) :

The ambient space of all games, imposing no restriction. This is the counterpart of IsShort.

Equations
Instances For
    theorem MisereGames.Form.isLong {G : Type (u + 1)} (g : G) :
    class MisereGames.Form.HasZero {G : Type (u + 1)} [Form G] (A : GProp) :

    A set of forms containing zero.

    • has_zero : A 0
    Instances
      class MisereGames.Form.HasNat {G : Type (u + 1)} [Form G] (A : GProp) :

      A set of forms containing all natural-number games.

      • has_nat (n : ) : A n
      Instances
        class MisereGames.Form.HasInt {G : Type (u + 1)} [Form G] (A : GProp) :

        A set of forms containing all integer games.

        • has_int (n : ) : A n
        Instances
          instance MisereGames.Form.instHasZeroOfHasNat {G : Type (u + 1)} [Form G] {A : GProp} [HasNat A] :
          instance MisereGames.Form.instHasNatOfHasInt {G : Type (u + 1)} [Form G] {A : GProp} [HasInt A] :
          theorem MisereGames.Form.HasInt.has_neg_int {G : Type (u + 1)} [Form G] {A : GProp} [HasInt A] (n : ) :
          A (-n)
          theorem MisereGames.Form.HasNat.zero {G : Type (u + 1)} [Form G] {A : GProp} [HasNat A] :
          A 0
          theorem MisereGames.Form.HasNat.one {G : Type (u + 1)} [Form G] {A : GProp} [HasNat A] :
          A 1
          class MisereGames.Form.ClosedUnderAddNat {G : Type (u + 1)} [Form G] (A : GProp) :

          A set of forms closed under adding natural-number games on the right.

          • has_add {g : G} (h1 : A g) (n : ) : A (g + n)
          Instances
            class MisereGames.Form.ClosedUnderAdd {G : Type (u + 1)} [Form G] (A : GProp) :

            A set of forms closed under addition.

            • has_add (g h : G) (h_g : A g) (h_h : A h) : A (g + h)
            Instances
              class MisereGames.Form.Hereditary {G : Type (u + 1)} [Form G] (A : GProp) :

              A set of forms closed under passing to options.

              • has_option {g g' : G} (h1 : A g) (h2 : IsOption g' g) : A g'
              Instances
                theorem MisereGames.Form.Hereditary.of_mem_moves {G : Type (u + 1)} [Form G] {A : GProp} [Hereditary A] {p : Player} {g g' : G} (hA : A g) (h_mem : g' moves p g) :
                A g'
                theorem MisereGames.Form.exists_isZeroLike {G : Type (u + 1)} [Form G] {A : GProp} [Hereditary A] (h : ∃ (g : G), A g) :
                ∃ (z : G), A z IsZeroLike z

                A nonempty hereditary set of forms contains a zero-like form.

                class MisereGames.Form.ClosedUnderNeg {G : Type (u + 1)} [Form G] (A : GProp) :

                A set of forms closed under conjugation.

                • neg_of {g : G} (h1 : A g) : A (-g)
                Instances
                  theorem MisereGames.Form.ClosedUnderNeg.neg_iff {G : Type (u + 1)} [Form G] {A : GProp} [ClosedUnderNeg A] {g : G} :
                  A (-g) A g
                  theorem MisereGames.Form.HasInt.of_hasNat {G : Type (u + 1)} [Form G] {A : GProp} [HasNat A] [ClosedUnderNeg A] :
                  theorem MisereGames.Form.ClosedUnderAddNat.has_add_neg {G : Type (u + 1)} [Form G] {A : GProp} [ClosedUnderAddNat A] [ClosedUnderNeg A] {g : G} (hAg : A g) (n : ) :
                  A (g + -n)
                  theorem MisereGames.Form.ClosedUnderAddNat.has_add_int {G : Type (u + 1)} [Form G] {A : GProp} [ClosedUnderAddNat A] [ClosedUnderNeg A] [HasInt A] {g : G} (hAg : A g) (n : ) :
                  A (g + n)
                  theorem MisereGames.Form.ClosedUnderAddNat.has_add_int_neg {G : Type (u + 1)} [Form G] {A : GProp} [ClosedUnderAddNat A] [ClosedUnderNeg A] [HasInt A] {g : G} (hAg : A g) (n : ) :
                  A (g + -n)