Documentation

GroupoidModel.Syntax.NaturalModel

structure NaturalModelBase (Ctx : Type u) [CategoryTheory.Category.{u_1, u} Ctx] :
Type (max u (u_1 + 1))

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 NaturalModelBase.ofIsPullback {Ctx : Type u} [CategoryTheory.SmallCategory Ctx] (M : NaturalModelBase Ctx) {U E : CategoryTheory.Psh 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
        
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def NaturalModelBase.substFst {Ctx : Type u} [CategoryTheory.SmallCategory Ctx] (M : NaturalModelBase Ctx) {Δ Γ : Ctx} {A : CategoryTheory.yoneda.obj Γ M.Ty} (σ : Δ M.ext A) :
          Δ Γ
          Δ ⊢ σ : Γ.A
          ------------
          Δ ⊢ ↑∘σ : Γ
          
          Equations
          Instances For
            Δ ⊢ σ : Γ.A
            -------------------
            Δ ⊢ v₀[σ] : A[↑∘σ]
            
            Equations
            Instances For

              Weaken a substitution.

              Δ ⊢ σ : Γ  Γ ⊢ A type
              ----------------------------------------
              Δ.A[σ] ⊢ ↑≫σ : Γ  Δ.A[σ] ⊢ v₀ : A[↑≫σ]
              ----------------------------------------
              Δ.A[σ] ⊢ (↑≫σ).v₀ : Γ.A
              
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                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

                  Polynomial functor on tp #

                  Specializations of results from the Poly package to natural models.

                  Equations
                  Instances For
                    yΓ ⟶ P_tp(X)
                    =======================
                    Γ ⊢ A type  y(Γ.A) ⟶ X
                    
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[simp]
                      theorem NaturalModelBase.Ptp_equiv_apply_snd_app {Ctx : Type u} [CategoryTheory.SmallCategory Ctx] (M : NaturalModelBase Ctx) {Γ : Ctx} {X : CategoryTheory.Psh Ctx} (a✝ : CategoryTheory.yoneda.obj Γ M.uvPolyTp @ X) (X✝ : Ctxᵒᵖ) (a✝¹ : (CategoryTheory.yoneda.obj (M.ext ((M.uvPolyTp.equiv (CategoryTheory.yoneda.obj Γ) X) a✝).fst)).obj X✝) :
                      (M.Ptp_equiv a✝).snd.app X✝ a✝¹ = ((M.uvPolyTp.equiv (CategoryTheory.yoneda.obj Γ) X) a✝).snd.app X✝ (.isoPullback.hom.app X✝ a✝¹)
                      @[simp]
                      theorem NaturalModelBase.Ptp_equiv_apply_fst_app {Ctx : Type u} [CategoryTheory.SmallCategory Ctx] (M : NaturalModelBase Ctx) {Γ : Ctx} {X : CategoryTheory.Psh Ctx} (a✝ : CategoryTheory.yoneda.obj Γ M.uvPolyTp @ X) (X✝ : Ctxᵒᵖ) (a✝¹ : (CategoryTheory.yoneda.obj Γ).obj X✝) :
                      (M.Ptp_equiv a✝).fst.app X✝ a✝¹ = (M.uvPolyTp.fstProj X).app X✝ (a✝.app X✝ a✝¹)

                      A map (AB : y(Γ) ⟶ M.Ptp.obj X) is equivalent to a pair of maps A : y(Γ) ⟶ M.Ty and B : y(M.ext (fst M AB)) ⟶ X, thought of as a dependent pair A : Type and B : A ⟶ Type. PtpEquiv.fst is the A in this pair.

                      Equations
                      Instances For

                        A map (AB : y(Γ) ⟶ M.Ptp.obj X) is equivalent to a pair of maps A : y(Γ) ⟶ M.Ty and B : y(M.ext (fst M AB)) ⟶ X, thought of as a dependent pair A : Type and B : A ⟶ Type PtpEquiv.snd is the B in this pair.

                        Equations
                        Instances For

                          A map (AB : y(Γ) ⟶ M.Ptp.obj X) is equivalent to a pair of maps A : y(Γ) ⟶ M.Ty and B : y(M.ext (fst M AB)) ⟶ X, thought of as a dependent pair A : Type and B : A ⟶ Type PtpEquiv.mk constructs such a map AB from such a pair A and B.

                          Equations
                          Instances For

                            Polynomial composition M.tp ▸ N.tp #

                            Universal property of compDom, decomposition (part 1).

                            A map ab : y(Γ) ⟶ M.uvPolyTp.compDom N.uvPolyTp is equivalently three maps fst, dependent, snd such that snd_tp. The map fst : y(Γ) ⟶ M.Tm is the (a : A) in (a : A) × (b : B a).

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

                              Universal property of compDom, decomposition (part 2).

                              A map ab : y(Γ) ⟶ M.uvPolyTp.compDom N.uvPolyTp is equivalently three maps fst, dependent, snd such that snd_tp. The map dependent : y(M.ext (fst N ab ≫ M.tp)) ⟶ M.Ty is the B : A ⟶ Type in (a : A) × (b : B a). Here A is implicit, derived by the typing of fst, or (a : A).

                              Equations
                              Instances For

                                Universal property of compDom, decomposition (part 3).

                                A map ab : y(Γ) ⟶ M.uvPolyTp.compDom N.uvPolyTp is equivalently three maps fst, dependent, snd such that snd_tp. The map snd : y(Γ) ⟶ M.Tm is the (b : B a) in (a : A) × (b : B a).

                                Equations
                                Instances For

                                  Universal property of compDom, decomposition (part 4).

                                  A map ab : y(Γ) ⟶ M.uvPolyTp.compDom N.uvPolyTp is equivalently three maps fst, dependent, snd such that snd_tp. The equation snd_tp says that the type of b : B a agrees with the expression for B a obtained solely from dependent, or B : A ⟶ Type.

                                  Computation of comp (part 1).

                                  fst_tp is (part 1) of the computation that (α, B, β, h) Γ ⟶ compDom \ | \ | comp (α ≫ tp, B) | \ V > P_tp Ty Namely the first projection α ≫ tp agrees.

                                  Computation of comp (part 2).

                                  dependent_eq is (part 2) of the computation that (α, B, β, h) Γ ⟶ compDom \ | \ | comp (α ≫ tp, B) | \ V > P_tp Ty Namely the second projection B agrees.

                                  Pi and Sigma types #

                                  Instances For
                                    Instances For