Documentation

LeanPool.MisereGames.Misere.Hereditary.MaintenanceProviso

Misere combinatorial games.

def MisereGames.Form.Maintenance {G : Type (u + 1)} [Form G] (A : GProp) (g h : G) (p : Player) :

The maintenance condition for comparison modulo A.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem MisereGames.Form.Maintenance.neg_iff {G : Type (u + 1)} [Form G] {A : GProp} [ClosedUnderNeg A] {g h : G} (p : Player) :
    Maintenance A (-h) (-g) (-p) Maintenance A g h p
    def MisereGames.Form.Strong {G : Type (u + 1)} [Form G] (A : GProp) (g : G) (p : Player) :

    The strong outcome condition for a form against ends in A.

    Equations
    Instances For
      theorem MisereGames.Form.strong_of_isEnd {A : GameFormProp} {p : Player} {g : GameForm} (he : IsEnd p g) :
      Strong A g p
      @[irreducible]

      This is the test given by [Davies, Milley (Theorem 3.1 on p. 7)][davies:OrderInversesMonoid:2026].

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def MisereGames.Form.Proviso {G : Type (u + 1)} [Form G] (A : GProp) (g h : G) (p : Player) :

        The proviso condition for comparison modulo A.

        Equations
        Instances For
          theorem MisereGames.Form.Proviso.neg_iff {G : Type (u + 1)} [Form G] {A : GProp} [ClosedUnderNeg A] {g h : G} (p : Player) :
          Proviso A (-g) (-h) (-p) Proviso A g h p
          theorem MisereGames.Form.proviso_right_of_misereGE {G : Type (u + 1)} [Form G] {A : GProp} {g h : G} (hge : g ≥m A h) :
          theorem MisereGames.Form.proviso_left_of_misereGE {G : Type (u + 1)} [Form G] {A : GProp} {g h : G} (hge : g ≥m A h) :
          theorem MisereGames.Form.Hereditary.misereGE_of_maintenance_proviso {G : Type (u + 1)} [Form G] (A : GProp) [Hereditary A] {g h : G} (h2 : Maintenance A g h Player.right) (h3 : Maintenance A g h Player.left) (h4 : Proviso A g h Player.right) (h5 : Proviso A h g Player.left) :
          g ≥m A h
          theorem MisereGames.Form.Hereditary.misereGE_of_moves {A : GameFormProp} [Hereditary A] {g h : GameForm} (hl1 : glmoves Player.left g, ∃ (hl : GameForm), hl moves Player.left h) (hl2 : hlmoves Player.left h, glmoves Player.left g, gl ≥m A hl) (hr1 : grmoves Player.right g, hrmoves Player.right h, gr ≥m A hr) (hr2 : hrmoves Player.right h, ∃ (gr : GameForm), gr moves Player.right g) :
          g ≥m A h
          theorem MisereGames.Form.Hereditary.misereEQ_of_moves {A : GameFormProp} [Hereditary A] {g h : GameForm} (hl1 : glmoves Player.left g, hlmoves Player.left h, gl =m A hl) (hl2 : hlmoves Player.left h, glmoves Player.left g, hl =m A gl) (hr1 : grmoves Player.right g, hrmoves Player.right h, gr =m A hr) (hr2 : hrmoves Player.right h, grmoves Player.right g, hr =m A gr) :
          g =m A h