Documentation

LeanPool.MisereGames.Misere.Universe

Misere combinatorial games.

A universe is closed under addition, options, negation, and dicotic construction.

Instances

    A universe in the long ambient space.

    Instances

      A universe in the short ambient space.

      Instances
        theorem MisereGames.Universe.sInf_closed {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] {S : Set (Set.Iic IsAmbient)} (hS : AS, Universe IsAmbient A) :
        Universe IsAmbient (sInf S)

        An intersection of universes is a universe.

        @[reducible, inline]
        noncomputable abbrev MisereGames.Universe.closureOperator {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] :
        ClosureOperator (Set.Iic IsAmbient)

        The closure operator for finding the universal closure of a given set (in the context of a given ambient). Sends a bounded predicate to the smallest Universe IsAmbient containing it.

        Equations
        Instances For
          @[reducible, inline]
          noncomputable abbrev MisereGames.Universe.closureBounded {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] (A : (Set.Iic IsAmbient)) :
          (Set.Iic IsAmbient)

          The universal closure of a given set (within the context of a given ambient).

          Equations
          Instances For
            @[reducible, inline]
            noncomputable abbrev MisereGames.Universe.closure {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] (A : GProp) (hA : A IsAmbient) :
            GProp

            The universal closure of a given set (within the context of a given ambient).

            Equations
            Instances For
              theorem MisereGames.Universe.subset_closure {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] {A : GProp} (hA : A IsAmbient) :
              A closure IsAmbient A hA
              theorem MisereGames.Universe.mem_closure_of_mem {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] {A : GProp} {g : G} (hA : A IsAmbient) (hg : A g) :
              closure IsAmbient A hA g
              theorem MisereGames.Universe.closure_le_ambient {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] {A : GProp} (hA : A IsAmbient) :
              closure IsAmbient A hA IsAmbient
              instance MisereGames.Universe.closure_universe {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] {A : GProp} (hA : A IsAmbient) :
              Universe IsAmbient (closure IsAmbient A hA)
              theorem MisereGames.Universe.closure_min {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] {A B : GProp} (hA : A IsAmbient) (hAB : A B) [Universe IsAmbient B] :
              closure IsAmbient A hA B
              theorem MisereGames.Universe.closure_le {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] {A B : GProp} (hA : A IsAmbient) [Universe IsAmbient B] :
              closure IsAmbient A hA B A B
              theorem MisereGames.Universe.closure_mono {G : Type (u + 1)} [Form G] (IsAmbient : GProp) [Universe IsAmbient IsAmbient] {A B : GProp} {hA : A IsAmbient} {hB : B IsAmbient} (hAB : A B) :
              closure IsAmbient A hA closure IsAmbient B hB
              theorem MisereGames.Universe.iInter {G : Type (u + 1)} [Form G] {ι : Sort u_1} (IsAmbient A : ιGProp) [∀ (i : ι), Universe (IsAmbient i) (A i)] :
              Universe (fun (g : G) => ∀ (i : ι), IsAmbient i g) fun (g : G) => ∀ (i : ι), A i g

              The intersection of universes is a universe, with ambient space the intersection of the ambient spaces.

              theorem MisereGames.Universe.iUnion_of_directed {G : Type (u + 1)} [Form G] {ι : Sort u_1} [Nonempty ι] (IsAmbient A : ιGProp) [∀ (i : ι), Universe (IsAmbient i) (A i)] (h_directed : Directed (fun (P Q : (GProp) × (GProp)) => P.1 Q.1 P.2 Q.2) fun (i : ι) => (A i, IsAmbient i)) (h_options : ∀ (B C : Set G) [inst : Small.{u, u + 1} B] [inst_1 : Small.{u, u + 1} C], (∀ bB, ∃ (i : ι), A i b)(∀ cC, ∃ (i : ι), A i c)B.NonemptyC.Nonempty(∃ (i : ι), IsAmbient i !{B | C})∃ (i : ι), (∀ bB, A i b) (∀ cC, A i c) IsAmbient i !{B | C}) :
              Universe (fun (g : G) => ∃ (i : ι), IsAmbient i g) fun (g : G) => ∃ (i : ι), A i g

              The union of a nonempty directed family of universes is a universe, with ambient space the union of the ambient spaces.

              The directedness is componentwise on the family of ordered pairs (A i, IsAmbient i). We require the hypothesis that, if the Left and Right options lie in the union, and the form from dicotic closure lies in the union of the ambient spaces, then there exists a universe containing all of the options, and whose ambient space contains the relevant form. This extra hypothesis supplies the common index needed for dicotic closure.

              theorem MisereGames.Universe.iUnion_of_directed_of_fixed_ambient {G : Type (u + 1)} [Form G] {ι : Sort u_1} [Nonempty ι] (IsAmbient : GProp) (A : ιGProp) [∀ (i : ι), Universe IsAmbient (A i)] (h_directed : Directed (fun (x1 x2 : GProp) => x1 x2) A) (h_options : ∀ (B C : Set G) [inst : Small.{u, u + 1} B] [inst_1 : Small.{u, u + 1} C], (∀ bB, ∃ (i : ι), A i b)(∀ cC, ∃ (i : ι), A i c)B.NonemptyC.NonemptyIsAmbient !{B | C}∃ (i : ι), (∀ bB, A i b) cC, A i c) :
              Universe IsAmbient fun (g : G) => ∃ (i : ι), A i g

              A specialised version of Universe.iUnion_of_directed in which every universe has the same ambient space.

              @[reducible, inline]
              noncomputable abbrev MisereGames.LongUniverse.closure {G : Type (u + 1)} [Form G] (A : GProp) :
              GProp

              The smallest long universe containing A.

              Equations
              Instances For
                theorem MisereGames.LongUniverse.closure_le {G : Type (u + 1)} [Form G] {A B : GProp} [LongUniverse B] :
                closure A B A B
                @[reducible, inline]
                noncomputable abbrev MisereGames.ShortUniverse.closure {G : Type (u + 1)} [Form G] (A : GProp) (hA : A Form.IsShort) :
                GProp

                The smallest short universe containing A.

                Equations
                Instances For
                  theorem MisereGames.ShortUniverse.closure_le {G : Type (u + 1)} [Form G] {A B : GProp} (hA : A Form.IsShort) [ShortUniverse B] :
                  closure A hA B A B
                  theorem MisereGames.ShortUniverse.iUnion_of_directed {G : Type (u + 1)} [Form G] {ι : Sort u_1} [Nonempty ι] (A : ιGProp) [∀ (i : ι), ShortUniverse (A i)] (h_directed : Directed (fun (x1 x2 : GProp) => x1 x2) A) :
                  ShortUniverse fun (g : G) => ∃ (i : ι), A i g

                  The union of a nonempty directed family of short universes is a short universe.