Documentation

HoTTLean.Model.Unstructured.UnstructuredUniverse

A natural model with support for dependent types (and nothing more). The data is a natural transformation with representable fibers, stored as a choice of representative for each fiber.

Instances For

    Pullback of representable natural transformation #

    Pull a natural model back along a type.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Model.UnstructuredUniverse.ofIsPullback {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] (M : UnstructuredUniverse Ctx) {U E : Ctx} {π : E U} {toTy : U M.Ty} {toTm : E M.Tm} (pb : CategoryTheory.IsPullback toTm π M.tp toTy) :

      Given the pullback square on the right, with a natural model structure on tp : TmTy giving the outer pullback square.

      Γ.A -.-.- var -.-,-> E ------ toTm ------> Tm | | | | | | M.disp π tp | | | V V V Γ ------- A -------> U ------ toTy ------> Ty

      construct a natural model structure on π : E ⟶ U, by pullback pasting.

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

        Substitutions #

        Δ ⊢ σ : Γ  Γ ⊢ A type  Δ ⊢ t : A[σ]
        -----------------------------------
        Δ ⊢ σ.t : Γ.A
        

        ------ Δ ------ t --------¬ | ↓ substCons ↓ | M.ext A ---var A---> M.Tm | | | σ | | | disp A M.tp | | | | V V ---> Γ ------ A -----> M.Ty

        Equations
        Instances For
          @[simp]
          theorem Model.UnstructuredUniverse.substCons_apply_comp_var {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] (M : UnstructuredUniverse Ctx) {Δ Γ : Ctx} (σ : Δ Γ) (A : Γ M.Ty) (s : Δ M.ext A) (s_tp : CategoryTheory.CategoryStruct.comp s (M.disp A) = σ) :
          def Model.UnstructuredUniverse.substFst {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] (M : UnstructuredUniverse Ctx) {Δ Γ : Ctx} {A : Γ M.Ty} (σ : Δ M.ext A) :
          Δ Γ
          Δ ⊢ σ : Γ.A
          ------------
          Δ ⊢ ↑∘σ : Γ
          
          Equations
          Instances For
            def Model.UnstructuredUniverse.substSnd {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] (M : UnstructuredUniverse Ctx) {Δ Γ : Ctx} {A : Γ M.Ty} (σ : Δ M.ext A) :
            Δ M.Tm
            Δ ⊢ σ : Γ.A
            -------------------
            Δ ⊢ v₀[σ] : A[↑∘σ]
            
            Equations
            Instances For
              def Model.UnstructuredUniverse.substWk {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] (M : UnstructuredUniverse Ctx) {Δ Γ : Ctx} (σ : Δ Γ) (A : Γ M.Ty) (A' : Δ M.Ty := CategoryTheory.CategoryStruct.comp σ A) (eq : CategoryTheory.CategoryStruct.comp σ A = A' := by rfl) :
              M.ext A' M.ext A

              Weaken a substitution.

              Δ ⊢ σ : Γ  Γ ⊢ A type  A' = A[σ]
              ------------------------------------
              Δ.A' ⊢ ↑≫σ : Γ  Δ.A' ⊢ v₀ : A[↑≫σ]
              ------------------------------------
              Δ.A' ⊢ (↑≫σ).v₀ : Γ.A
              
              Equations
              Instances For
                @[simp]
                theorem Model.UnstructuredUniverse.substWk_var {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] (M : UnstructuredUniverse Ctx) {Δ Γ : Ctx} (σ : Δ Γ) (A : Γ M.Ty) (A' : Δ M.Ty) (eq : CategoryTheory.CategoryStruct.comp σ A = A') :
                def Model.UnstructuredUniverse.sec {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] (M : UnstructuredUniverse Ctx) {Γ : Ctx} (A : Γ M.Ty) (a : Γ M.Tm) (a_tp : CategoryTheory.CategoryStruct.comp a M.tp = A) :
                Γ M.ext A

                sec is the section of disp A corresponding to a.

                ===== Γ ------ a --------¬ ‖ ↓ sec V ‖ M.ext A -----------> M.Tm ‖ | | ‖ | | ‖ disp A M.tp ‖ | | ‖ V V ===== Γ ------ A -----> M.Ty

                Equations
                Instances For
                  @[simp]
                  @[simp]
                  Instances For
                    def Model.UnstructuredUniverse.PolymorphicSigma.mk' {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] {U0 U1 U2 : UnstructuredUniverse Ctx} (Sig : {Γ : Ctx} → {A : Γ U0.Ty} → (U0.ext A U1.Ty) → (Γ U2.Ty)) (Sig_comp : ∀ {Γ Δ : Ctx} (σ : Δ Γ) (A : Γ U0.Ty) {σA : Δ U0.Ty} (eq : CategoryTheory.CategoryStruct.comp σ A = σA) (B : U0.ext A U1.Ty), Sig (CategoryTheory.CategoryStruct.comp (U0.substWk σ A σA eq) B) = CategoryTheory.CategoryStruct.comp σ (Sig B)) (assoc : {Γ : Ctx} → {A : Γ U0.Ty} → (B : U0.ext A U1.Ty) → U1.ext B U2.ext (Sig B)) (assoc_comp : ∀ {Γ Δ : Ctx} (σ : Δ Γ) {A : Γ U0.Ty} {σA : Δ U0.Ty} (eq : CategoryTheory.CategoryStruct.comp σ A = σA) (B : U0.ext A U1.Ty), CategoryTheory.CategoryStruct.comp (assoc (CategoryTheory.CategoryStruct.comp (U0.substWk σ A σA eq) B)).hom (U2.substWk σ (Sig B) (Sig (CategoryTheory.CategoryStruct.comp (U0.substWk σ A σA eq) B)) ) = CategoryTheory.CategoryStruct.comp (U1.substWk (U0.substWk σ A σA eq) B (CategoryTheory.CategoryStruct.comp (U0.substWk σ A σA eq) B) ) (assoc B).hom) (assoc_disp : ∀ {Γ : Ctx} {A : Γ U0.Ty} (B : U0.ext A U1.Ty), CategoryTheory.CategoryStruct.comp (assoc B).hom (U2.disp (Sig B)) = CategoryTheory.CategoryStruct.comp (U1.disp B) (U0.disp A)) :
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem Model.UnstructuredUniverse.PolymorphicSigma.fst_comp {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] {U0 U1 U2 : UnstructuredUniverse Ctx} (S : U0.PolymorphicSigma U1 U2) {Γ Δ : Ctx} (σ : Δ Γ) {A : Γ U0.Ty} {σA : Δ U0.Ty} (eq : CategoryTheory.CategoryStruct.comp σ A = σA) {B : U0.ext A U1.Ty} (s : Γ U2.Tm) (s_tp : CategoryTheory.CategoryStruct.comp s U2.tp = S.Sig B) :
                      theorem Model.UnstructuredUniverse.PolymorphicSigma.snd_comp {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] {U0 U1 U2 : UnstructuredUniverse Ctx} (S : U0.PolymorphicSigma U1 U2) {Γ Δ : Ctx} (σ : Δ Γ) {A : Γ U0.Ty} {σA : Δ U0.Ty} (eq : CategoryTheory.CategoryStruct.comp σ A = σA) {B : U0.ext A U1.Ty} (s : Γ U2.Tm) (s_tp : CategoryTheory.CategoryStruct.comp s U2.tp = S.Sig B) :
                      Instances For
                        theorem Model.UnstructuredUniverse.PolymorphicPi.unLam_comp {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] {U0 U1 U2 : UnstructuredUniverse Ctx} (P : U0.PolymorphicPi U1 U2) {Γ Δ : Ctx} (σ : Δ Γ) {A : Γ U0.Ty} {σA : Δ U0.Ty} (eq : CategoryTheory.CategoryStruct.comp σ A = σA) {B : U0.ext A U1.Ty} (f : Γ U2.Tm) (f_tp : CategoryTheory.CategoryStruct.comp f U2.tp = P.Pi B) :
                        Instances For
                          @[simp]
                          theorem Model.UnstructuredUniverse.PolymorphicIdIntro.refl_tp' {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] {U0 U1 : UnstructuredUniverse Ctx} (i : U0.PolymorphicIdIntro U1) {Γ : Ctx} {A : Γ U0.Ty} (a : Γ U0.Tm) (a_tp : CategoryTheory.CategoryStruct.comp a U0.tp = A) :
                          CategoryTheory.CategoryStruct.comp (i.refl a a_tp) U1.tp = i.Id a a a_tp a_tp
                          @[reducible, inline]
                          abbrev Model.UnstructuredUniverse.PolymorphicIdIntro.weakenId {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] {U0 U1 : UnstructuredUniverse Ctx} (i : U0.PolymorphicIdIntro U1) {Γ : Ctx} {A : Γ U0.Ty} (a : Γ U0.Tm) (a_tp : CategoryTheory.CategoryStruct.comp a U0.tp = A) :
                          U0.ext A U1.Ty

                          Given Γ ⊢ a : A this is the identity type weakened to the context Γ.(x : A) ⊢ Id(a,x) : U1.Ty

                          Equations
                          Instances For
                            @[reducible, inline]

                            Given Γ ⊢ a : A this is the context Γ.(x : A).(h:Id(a,x))

                            Equations
                            Instances For
                              @[reducible, inline]
                              abbrev Model.UnstructuredUniverse.PolymorphicIdIntro.reflSubst {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] {U0 U1 : UnstructuredUniverse Ctx} (i : U0.PolymorphicIdIntro U1) {Γ : Ctx} {A : Γ U0.Ty} (a : Γ U0.Tm) (a_tp : CategoryTheory.CategoryStruct.comp a U0.tp = A) :
                              Γ i.motiveCtx a a_tp

                              Given Γ ⊢ a : A, reflSubst is the substitution (a,refl) : Γ ⟶ Γ.(x:A).(h:Id(a,x)) appearing in identity elimination J so that we can write Γ ⊢ r : C(a,refl)

                              Equations
                              Instances For
                                @[reducible, inline]
                                abbrev Model.UnstructuredUniverse.PolymorphicIdIntro.motiveSubst {Ctx : Type u} [CategoryTheory.Category.{u_1, u} Ctx] {U0 U1 : UnstructuredUniverse Ctx} (i : U0.PolymorphicIdIntro U1) {Γ Δ : Ctx} (σ : Δ Γ) {A : Γ U0.Ty} (a : Γ U0.Tm) (a_tp : CategoryTheory.CategoryStruct.comp a U0.tp = A) {σA : Δ U0.Ty} (eq : σA = CategoryTheory.CategoryStruct.comp σ A := by rfl) :

                                Given a substitution σ : Δ ⟶ Γ and Γ ⊢ a : A, this is the substitution Δ.(x: σ ≫ A).(h:Id(σ ≫ a,x)) ⟶ Γ.(x:A).(h:Id(a,x))

                                Equations
                                Instances For
                                  Instances For