Documentation

LeanPool.MisereGames.AugmentedForm

Misere combinatorial games.

Augmented Form #

This module defines AugmentedForm: these are Siegel's augmented forms, which apart from ordinary options may also have tombstones, as defined in [Siegel, Definition 5.1 on p. 212][siegel:GeneralDeadendingUniverse:2025].

The main result is AugmentedForm.instForm.

References #

@[irreducible]

Like GameForm, but each position may contain Left and/or Right tombstones.

Equations
Instances For

    Check if a given Player has a tombstone.

    Equations
    Instances For

      Construct an AugmentedForm from available options and tombstones.

      Equations
      Instances For
        @[implicit_reducible]
        Equations
        • One or more equations did not get rendered due to their size.
        theorem MisereGames.AugmentedForm.ext {x y : AugmentedForm} (h_moves : ∀ (p : Player), Moves.moves p x = Moves.moves p y) (h_tomb : ∀ (p : Player), hasTombstone p x hasTombstone p y) :
        x = y

        Two AugmentedForms are equal if they have the same options and tombstones.

        @[irreducible]
        def MisereGames.AugmentedForm.moveRecOn {motive : AugmentedFormSort u_1} (x : AugmentedForm) (mk : (x : AugmentedForm) → ((p : Player) → (y : AugmentedForm) → y Moves.moves p xmotive y)motive x) :
        motive x

        This is Conway induction.

        Equations
        Instances For
          theorem MisereGames.AugmentedForm.moveRecOn_eq {motive : AugmentedFormSort u_1} (x : AugmentedForm) (mk : (x : AugmentedForm) → ((p : Player) → (y : AugmentedForm) → y Moves.moves p xmotive y)motive x) :
          moveRecOn x mk = mk x fun (x_1 : Player) (y : AugmentedForm) (x : y Moves.moves x_1 x) => moveRecOn y mk
          @[irreducible]

          Convert a GameForm to an AugmentedForm with no tombstones.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[irreducible]

            An AugmentedForm is TombstoneFree if no player has a tombstone and all options are TombstoneFree.

            Equations
            Instances For
              @[irreducible]

              Convert a TombstoneFree AugmentedForm to a GameForm by 'forgetting' about the missing tombstones.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem MisereGames.AugmentedForm.neg_eq (x : AugmentedForm) :
                -x = ofSetsWithTombs (fun (p : Player) => Set.range fun (xp : (Moves.moves (-p) x)) => -xp) fun (p : Player) => hasTombstone (-p) x
                @[implicit_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                theorem MisereGames.AugmentedForm.add_eq_zero_iff {x y : AugmentedForm} :
                x + y = !{fun (x : Player) => } x = !{fun (x : Player) => } y = !{fun (x : Player) => }
                @[implicit_reducible]
                Equations
                • One or more equations did not get rendered due to their size.

                The coercion from GameForm to AugmentedForm is an additive monoid homomorphism.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For