Documentation

CombinatorialGames.Form.Misere.Outcome

@[irreducible]
def Form.Misere.Outcome.WinsGoingFirst {G : Type (u + 1)} [Form G] (p : Player) (g : G) :
Equations
Instances For
    theorem Form.Misere.Outcome.winsGoingFirst_iff {G : Type (u + 1)} [Form G] (g : G) (p : Player) :
    WinsGoingFirst p g ↔ IsEndLike p g ∨ ∃ g' ∈ moves p g, ¬WinsGoingFirst (-p) g'
    @[simp]
    theorem Form.Misere.Outcome.winsGoingFirst_of_isEndLike {G : Type (u + 1)} [Form G] {g : G} {p : Player} (h1 : IsEndLike p g) :
    @[simp]
    theorem Form.Misere.Outcome.winsGoingFirst_of_isEnd {G : Type (u + 1)} [Form G] {g : G} {p : Player} (h1 : IsEnd p g) :
    theorem Form.Misere.Outcome.winsGoingFirst_of_moves {G : Type (u + 1)} [Form G] {g : G} {p : Player} (h1 : ∃ g' ∈ moves p g, ¬WinsGoingFirst (-p) g') :
    @[irreducible]
    theorem Form.Misere.Outcome.not_winsGoingFirst_iff {G : Type (u + 1)} [Form G] {g : G} {p : Player} :
    ¬WinsGoingFirst p g ↔ ¬IsEndLike p g ∧ ∀ g' ∈ moves p g, WinsGoingFirst (-p) g'

    If o(x) ≥ N then Left wins going first on x.

    theorem Form.Misere.Outcome.winsGoingFirst_add_of_isEndLike {G : Type (u + 1)} [Form G] {g h : G} {p : Player} (h1 : IsEndLike p g) (h2 : IsEndLike p h) :
    theorem Form.Misere.Outcome.winsGoingFirst_add_of_isEnd {G : Type (u + 1)} [Form G] {g h : G} {p : Player} (h1 : IsEnd p g) (h2 : IsEnd p h) :
    def Form.Misere.Outcome.MisereEQ {G : Type (u + 1)} [Form G] (A : G → Prop) (g h : G) :

    Restricted misère equivalence, working modulo a set A.

    Conventions for notations in identifiers:

    • The recommended spelling of =m in identifiers is misereEQ.
    Equations
    Instances For

      Restricted misère equivalence, working modulo a set A.

      Conventions for notations in identifiers:

      • The recommended spelling of =m in identifiers is misereEQ.
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem Form.Misere.Outcome.MisereEQ.symm {G : Type (u + 1)} [Form G] {A : G → Prop} {g h : G} (h1 : g =m A h) :
          h =m A g
          theorem Form.Misere.Outcome.MisereEQ.trans {G : Type (u + 1)} [Form G] {A : G → Prop} {g h k : G} (h1 : g =m A h) (h2 : h =m A k) :
          g =m A k
          def Form.Misere.Outcome.MisereGE {G : Type (u + 1)} [Form G] (A : G → Prop) (g h : G) :

          The restricted misère preorder, working modulo a set A.

          Conventions for notations in identifiers:

          • The recommended spelling of ≥m in identifiers is misereGE.
          Equations
          Instances For

            The restricted misère preorder, working modulo a set A.

            Conventions for notations in identifiers:

            • The recommended spelling of ≥m in identifiers is misereGE.
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem Form.Misere.Outcome.MisereEq.of_antisymm {G : Type (u + 1)} [Form G] {A : G → Prop} {g h : G} (h1 : g ≥m A h) (h2 : h ≥m A g) :
                g =m A h
                theorem Form.Misere.Outcome.MisereGE.trans {G : Type (u + 1)} [Form G] {A : G → Prop} {g h k : G} (h1 : g ≥m A h) (h2 : h ≥m A k) :
                g ≥m A k
                theorem Form.Misere.Outcome.misereGE_rw_left_iff {G : Type (u + 1)} [Form G] {A : G → Prop} {a b c : G} (h_eq : b =m A c) :
                b ≥m A a ↔ c ≥m A a
                theorem Form.Misere.Outcome.misereGE_rw_right_iff {G : Type (u + 1)} [Form G] {A : G → Prop} {a b c : G} (h_eq : b =m A c) :
                a ≥m A b ↔ a ≥m A c
                theorem Form.Misere.Outcome.misereGE_of_misereEQ {G : Type (u + 1)} [Form G] {A : G → Prop} {g h : G} (h1 : g =m A h) :
                g ≥m A h
                theorem Form.Misere.Outcome.misereGE_of_subset {G : Type (u + 1)} [Form G] (U : G → Prop) {V : G → Prop} (h_v_subset_u : ∀ (g : G), V g → U g) (g h : G) (h2 : g ≥m U h) :
                g ≥m V h
                theorem Form.Misere.Outcome.misereGE_add_right {G : Type (u + 1)} [Form G] {A : G → Prop} [ClosedUnderAdd A] {g h c : G} (hc : A c) (h1 : g ≥m A h) :
                (g + c) ≥m A h + c

                Adding a fixed element c ∈ A on the right preserves the restricted misère inequality.

                theorem Form.Misere.Outcome.misereEQ_add_right {G : Type (u + 1)} [Form G] {A : G → Prop} [ClosedUnderAdd A] {g h c : G} (hc : A c) (h1 : g =m A h) :
                (g + c) =m A h + c

                Adding a fixed element c ∈ A on the right preserves the restricted misère equivalence.

                theorem Form.Misere.Outcome.misereEQ_add_left {G : Type (u + 1)} [Form G] {A : G → Prop} [ClosedUnderAdd A] {g h c : G} (hc : A c) (h1 : g =m A h) :
                (c + g) =m A c + h

                Adding a fixed element c ∈ A on the left preserves the restricted misère equivalence.

                @[simp]
                theorem Form.Misere.Outcome.MisereGE.refl {G : Type (u + 1)} [Form G] {A : G → Prop} (g : G) :
                g ≥m A g
                theorem Form.Misere.Outcome.not_misereEQ_of_not_misereGE {G : Type (u + 1)} [Form G] {A : G → Prop} {g h : G} (h1 : ¬g ≥m A h) :
                ¬g =m A h
                @[simp]
                theorem Form.Misere.Outcome.ClosedUnderNeg.neg_ge_neg_iff {G : Type (u + 1)} [Form G] {A : G → Prop} [ClosedUnderNeg A] (g h : G) :
                (-h) ≥m A-g ↔ g ≥m A h
                theorem Form.Misere.Outcome.misereEQ_neg_iff {G : Type (u + 1)} [Form G] {A : G → Prop} [ClosedUnderNeg A] {g h : G} :
                (-g) =m A-h ↔ g =m A h
                theorem Form.Misere.Outcome.winsGoingFirst_left_add_of_misereGE_zero {G : Type (u + 1)} [Form G] {A : G → Prop} {g h : G} (h_h : A h) (h_g_ge_zero : g ≥m A↑0) (h_h_left_win : WinsGoingFirst Player.left h) :