Documentation

HoTTLean.Model.Unstructured.UHom

Morphisms of unstructured models, and Russell-universe embeddings.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Instances For
      def Model.UnstructuredUniverse.Hom.comp {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] {M N O : UnstructuredUniverse Ctx} (α : M.Hom N) (β : N.Hom O) :
      M.Hom O
      Equations
      Instances For
        def Model.UnstructuredUniverse.Hom.comp_assoc {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] {M N O P : UnstructuredUniverse Ctx} (α : M.Hom N) (β : N.Hom O) (γ : O.Hom P) :
        (α.comp β).comp γ = α.comp (β.comp γ)
        Equations
        • =
        Instances For

          Morphism into the representable natural transformation M from the pullback of M along a type.

          Equations
          Instances For

            Given M : Universe, a semantic type A : (Γ) ⟶ M.Ty, and a substitution σ : Δ ⟶ Γ, construct a Hom for the substitution A[σ].

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

              A Russell universe embedding is a hom of natural models M ⟶ N such that types in M correspond to terms of a universe U in N.

              These don't form a category since UHom.id M is essentially Type : Type in M.

              Note this doesn't need to extend Hom as none of its fields are used; it's just convenient to pack up the data.

              Instances For
                Equations
                Instances For
                  def Model.UnstructuredUniverse.UHom.comp_assoc {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] {M N O P : UnstructuredUniverse Ctx} (α : M.UHom N) (β : N.UHom O) (γ : O.UHom P) :
                  (α.comp β).comp γ = α.comp (β.comp γ)
                  Equations
                  • =
                  Instances For

                    Universe embeddings #

                    A sequence of Russell universe embeddings.

                    Instances For
                      def Model.UnstructuredUniverse.UHomSeq.homSucc {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) (i : ) (h : i < s.length := by get_elem_tactic) :
                      s[i].UHom s[i + 1]
                      Equations
                      Instances For
                        @[irreducible]
                        def Model.UnstructuredUniverse.UHomSeq.hom {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) (i j : ) (ij : i < j := by omega) (jlen : j < s.length + 1 := by get_elem_tactic) :
                        s[i].UHom s[j]

                        Composition of embeddings between i and j in the chain.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Model.UnstructuredUniverse.UHomSeq.homOfLe {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) (i j : ) (ij : i j := by omega) (jlen : j < s.length + 1 := by get_elem_tactic) :
                          s[i].Hom s[j]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def Model.UnstructuredUniverse.UHomSeq.unlift {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) (i j : ) (ij : i j := by omega) (jlen : j < s.length + 1 := by get_elem_tactic) {Γ : Ctx} (A : Γ s[i].Ty) (t : Γ s[j].Tm) (eq : CategoryTheory.CategoryStruct.comp t s[j].tp = CategoryTheory.CategoryStruct.comp A (s.homOfLe i j ij jlen).mapTy) :
                            Γ s[i].Tm

                            For i ≤ j and a term t at level j, if the type of t is lifted from level i, then t is a lift of a term at level i.

                            Equations
                            Instances For
                              @[simp]
                              theorem Model.UnstructuredUniverse.UHomSeq.unlift_tp {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) {i j : } {ij : i j} {jlen : j < s.length + 1} {Γ : Ctx} {A : Γ s[i].Ty} {t : Γ s[j].Tm} (eq : CategoryTheory.CategoryStruct.comp t s[j].tp = CategoryTheory.CategoryStruct.comp A (s.homOfLe i j ij jlen).mapTy) :
                              CategoryTheory.CategoryStruct.comp (s.unlift i j ij jlen A t eq) s[i].tp = A
                              @[simp]
                              theorem Model.UnstructuredUniverse.UHomSeq.unlift_lift {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) {i j : } {ij : i j} {jlen : j < s.length + 1} {Γ : Ctx} {A : Γ s[i].Ty} {t : Γ s[j].Tm} (eq : CategoryTheory.CategoryStruct.comp t s[j].tp = CategoryTheory.CategoryStruct.comp A (s.homOfLe i j ij jlen).mapTy) :
                              CategoryTheory.CategoryStruct.comp (s.unlift i j ij jlen A t eq) (s.homOfLe i j ij jlen).mapTm = t
                              def Model.UnstructuredUniverse.UHomSeq.unliftVar {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) (i j : ) (ij : i j := by omega) (jlen : j < s.length + 1 := by get_elem_tactic) {Γ : Ctx} (A : Γ s[i].Ty) {A' : Γ s[j].Ty} (eq : CategoryTheory.CategoryStruct.comp A (s.homOfLe i j ij jlen).mapTy = A') :
                              s[j].ext A' s[i].Tm
                              Equations
                              Instances For
                                @[simp]
                                theorem Model.UnstructuredUniverse.UHomSeq.unliftVar_tp {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) {i j : } {ij : i j} {jlen : j < s.length + 1} {Γ : Ctx} {A : Γ s[i].Ty} {A' : Γ s[j].Ty} (eq : CategoryTheory.CategoryStruct.comp A (s.homOfLe i j ij jlen).mapTy = A') :
                                theorem Model.UnstructuredUniverse.UHomSeq.substCons_unliftVar {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) {i j : } {ij : i j} {jlen : j < s.length + 1} {Γ : Ctx} {A : Γ s[i].Ty} {A' : Γ s[j].Ty} {eq : CategoryTheory.CategoryStruct.comp A (s.homOfLe i j ij jlen).mapTy = A'} {Δ : Ctx} {σ : Δ Γ} {t : Δ s[i].Tm} (t_tp : CategoryTheory.CategoryStruct.comp t s[i].tp = CategoryTheory.CategoryStruct.comp σ A) :
                                def Model.UnstructuredUniverse.UHomSeq.code {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] {Γ : Ctx} {i : } (s : UHomSeq Ctx) (ilen : i < s.length) (A : Γ s[i].Ty) :
                                Γ s[i + 1].Tm

                                TODO: Consider generalising to just UHom? Convert a map into the ith type classifier into a a term of the i+1th term classifier, that is a term of the ith universe. It is defined by composition with the first projection of the pullback square v s[i].Ty ----> s[i+1].Tm ^ | | A / | p.b. | / | | / V V (Γ) ---> 1 -----> s[i+1].Ty U_i

                                Equations
                                Instances For
                                  @[simp]
                                  theorem Model.UnstructuredUniverse.UHomSeq.code_tp {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] {Γ : Ctx} {i : } (s : UHomSeq Ctx) (ilen : i < s.length) (A : Γ s[i].Ty) :
                                  def Model.UnstructuredUniverse.UHomSeq.el {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) {Γ : Ctx} {i : } (ilen : i < s.length) (a : Γ s[i + 1].Tm) (a_tp : CategoryTheory.CategoryStruct.comp a s[i + 1].tp = UHom.wkU Γ (s.homSucc i ilen)) :
                                  Γ s[i].Ty

                                  TODO: Consider generalising to just UHom? Convert a a term of the ith universe (it is a i+1 level term) into a map into the ith type classifier. It is the unique map into the pullback a (Γ) -----------------¬ ‖ --> v V ‖ s[i].Ty ----> s[i+1].Tm ‖ | | ‖ | p.b. | ‖ | | ‖ V V (Γ) ---> 1 -----> s[i+1].Ty U_i

                                  Equations
                                  Instances For
                                    theorem Model.UnstructuredUniverse.UHomSeq.comp_el {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) {Δ Γ : Ctx} {i : } (ilen : i < s.length) (σ : Δ Γ) (a : Γ s[i + 1].Tm) (a_tp : CategoryTheory.CategoryStruct.comp a s[i + 1].tp = UHom.wkU Γ (s.homSucc i ilen)) :
                                    @[simp]
                                    theorem Model.UnstructuredUniverse.UHomSeq.el_code {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] {Γ : Ctx} {i : } (s : UHomSeq Ctx) (ilen : i < s.length) (A : Γ s[i].Ty) :
                                    s.el ilen (s.code ilen A) = A
                                    @[simp]
                                    theorem Model.UnstructuredUniverse.UHomSeq.code_el {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) {Γ : Ctx} {i : } (ilen : i < s.length) (a : Γ s[i + 1].Tm) (a_tp : CategoryTheory.CategoryStruct.comp a s[i + 1].tp = UHom.wkU Γ (s.homSucc i ilen)) :
                                    s.code ilen (s.el ilen a a_tp) = a
                                    @[irreducible]
                                    theorem Model.UnstructuredUniverse.UHomSeq.hom_comp_trans {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] [CategoryTheory.ChosenTerminal Ctx] (s : UHomSeq Ctx) (i j k : ) (ij : i < j) (jk : j < k) (klen : k < s.length + 1) :
                                    (s.hom i j ij ).comp (s.hom j k jk klen) = s.hom i k klen