Morphisms of natural models, and Russell-universe embeddings.
Equations
- One or more equations did not get rendered due to their size.
Instances For
- pb : CategoryTheory.IsPullback self.mapTm M.tp N.tp self.mapTy
Instances For
Equations
- NaturalModelBase.Hom.id M = { mapTm := CategoryTheory.CategoryStruct.id M.Tm, mapTy := CategoryTheory.CategoryStruct.id M.Ty, pb := ⋯ }
Instances For
Equations
- α.comp β = { mapTm := CategoryTheory.CategoryStruct.comp α.mapTm β.mapTm, mapTy := CategoryTheory.CategoryStruct.comp α.mapTy β.mapTy, pb := ⋯ }
Instances For
Equations
- ⋯ = ⋯
Instances For
Morphism into the representable natural transformation M
from the pullback of M
along a type.
Equations
- M.pullbackHom A = { mapTm := M.var A, mapTy := A, pb := ⋯ }
Instances For
Given M : NaturalModelBase
, a semantic type A : y(Γ) ⟶ 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.
- U_pb : ∃ (v : M.Ty ⟶ N.Tm), CategoryTheory.IsPullback v (isTerminal_yUnit.from M.Ty) N.tp self.U
Instances For
Equations
- NaturalModelBase.UHom.ofTyIsoExt H i = { toHom := H, U := U, U_pb := ⋯ }
Instances For
Equations
Instances For
Equations
- ⋯ = ⋯
Instances For
Equations
Instances For
Equations
- NaturalModelBase.UHom.ofTarskiU M U El = { toHom := M.pullbackHom El, U := U, U_pb := ⋯ }
Instances For
Universe embeddings #
A sequence of Russell universe embeddings.
- length : ℕ
Number of embeddings in the sequence, or one less than the number of models in the sequence.
Instances For
Equations
- NaturalModelBase.UHomSeq.instGetElemNatLtHAddLengthOfNat = { getElem := fun (s : NaturalModelBase.UHomSeq Ctx) (i : ℕ) (h : i < s.length + 1) => s.objs i h }
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
Instances For
Instances For
The data of type and term formers at each universe s[i].tp
.
This data is universe-monomorphic,
but we can use it to construct universe-polymorphic formation
in a model-independent manner.
For example, universe-monomorphic Pi
Γ ⊢ᵢ A type Γ.A ⊢ᵢ B type
--------------------------
Γ ⊢ᵢ ΠA. B type
can be extended to
Γ ⊢ᵢ A type Γ.A ⊢ⱼ B type
--------------------------
Γ ⊢ₘₐₓ₍ᵢ,ⱼ₎ ΠA. B type
Instances For
Pi #
Instances For
Instances For
Equations
- ⋯ = ⋯
Instances For
Γ ⊢ᵢ A Γ.A ⊢ⱼ B
-----------------
Γ ⊢ₘₐₓ₍ᵢ,ⱼ₎ ΠA. B
Equations
Instances For
Γ ⊢ᵢ A Γ.A ⊢ⱼ t : B
-------------------------
Γ ⊢ₘₐₓ₍ᵢ,ⱼ₎ λA. t : ΠA. B
Equations
Instances For
Γ ⊢ᵢ A Γ ⊢ₘₐₓ₍ᵢ,ⱼ₎ f : ΠA. B
-----------------------------
Γ.A ⊢ⱼ unlam f : B
Equations
Instances For
Γ ⊢ₘₐₓ₍ᵢ,ⱼ₎ f : ΠA. B Γ ⊢ᵢ a : A
---------------------------------
Γ ⊢ⱼ f a : B[id.a]
Equations
- s.mkApp ilen jlen A B f f_tp a a_tp = CategoryTheory.CategoryStruct.comp (CategoryTheory.yoneda.map (s[i].sec A a a_tp)) (s.unLam ilen jlen A B f f_tp)
Instances For
Γ ⊢ₘₐₓ₍ᵢ,ⱼ₎ f : ΠA. B
--------------------------------------
Γ ⊢ₘₐₓ₍ᵢ,ⱼ₎ λA. f[↑] v₀ : ΠA. B
Equations
- One or more equations did not get rendered due to their size.
Instances For
Γ ⊢ᵢ A Γ.A ⊢ⱼ t : B Γ ⊢ᵢ a : A
--------------------------------
Γ.A ⊢ⱼ (λA. t) a ≡ t[a] : B[a]
Sigma #
Instances For
Instances For
Equations
- ⋯ = ⋯
Instances For
Γ ⊢ᵢ A Γ.A ⊢ⱼ B
-----------------
Γ ⊢ₘₐₓ₍ᵢ,ⱼ₎ ΣA. B
Equations
Instances For
Γ ⊢ᵢ t : A Γ ⊢ⱼ u : B[t]
--------------------------
Γ ⊢ₘₐₓ₍ᵢ,ⱼ₎ ⟨t, u⟩ : ΣA. B
Equations
- s.mkPair ilen jlen A B t t_tp u u_tp = CategoryTheory.CategoryStruct.comp (NaturalModelBase.compDomEquiv.mk s[j] t (⋯ ▸ B) u ⋯) (s.pair ilen jlen)