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.
- Tm : CategoryTheory.Psh Ctx
- Ty : CategoryTheory.Psh Ctx
- var {Γ : Ctx} (A : CategoryTheory.yoneda.obj Γ ⟶ self.Ty) : CategoryTheory.yoneda.obj (self.ext A) ⟶ self.Tm
- disp_pullback {Γ : Ctx} (A : CategoryTheory.yoneda.obj Γ ⟶ self.Ty) : CategoryTheory.IsPullback (self.var A) (CategoryTheory.yoneda.map (self.disp A)) self.tp A
Instances For
Equations
- M.pullbackIsoExt A = ⋯.isoPullback.symm
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
Given the pullback square on the right,
with a natural model structure on tp : Tm ⟶ Ty
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
Δ ⊢ σ : Γ.A
------------
Δ ⊢ ↑∘σ : Γ
Equations
- M.substFst σ = CategoryTheory.CategoryStruct.comp σ (M.disp A)
Instances For
Δ ⊢ σ : Γ.A
-------------------
Δ ⊢ v₀[σ] : A[↑∘σ]
Equations
- M.substSnd σ = CategoryTheory.CategoryStruct.comp (CategoryTheory.yoneda.map σ) (M.var A)
Instances For
Equations
- M.wk A f = CategoryTheory.CategoryStruct.comp (CategoryTheory.yoneda.map (M.disp A)) f
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
- M.sec A a a_tp = M.substCons (CategoryTheory.CategoryStruct.id Γ) A a ⋯
Instances For
Instances For
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
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
- NaturalModelBase.PtpEquiv.fst M AB = ((M.uvPolyTp.equiv (CategoryTheory.yoneda.obj Γ) X) AB).fst
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
- NaturalModelBase.PtpEquiv.snd M AB = CategoryTheory.CategoryStruct.comp (M.pullbackIsoExt (NaturalModelBase.PtpEquiv.fst M AB)).inv ((M.uvPolyTp.equiv (CategoryTheory.yoneda.obj Γ) X) AB).snd
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
.
Instances For
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
- NaturalModelBase.compDomEquiv.dependent N ab = sorry
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
- NaturalModelBase.compDomEquiv.snd N ab = sorry
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
.
Universal property of compDom
, constructing a map into compDom
.
Equations
- NaturalModelBase.compDomEquiv.mk N α B β h = sorry
Instances For
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.
Equations
- ⋯ = ⋯
Instances For
Equations
- ⋯ = ⋯
Instances For
Equations
- ⋯ = ⋯