module 1Lab.Type.Pointed where
Pointed typesπ
A pointed type is a type equipped with a choice of base point .
: β β β Type (lsuc β)
Typeβ = Ξ£ (Type β) (Ξ» A β A) Typeβ β
If we have pointed types and , the most natural notion of function between them is not simply the type of functions , but rather those functions which preserve the basepoint, i.e.Β the functions equipped with paths .
_ββ_ : Typeβ β β Typeβ β' β Type _
(A , a) ββ (B , b) = Ξ£[ f β (A β B) ] (f a β‘ b)
Paths between pointed maps are characterised as pointed homotopies:
: {f g : A ββ B}
funextβ β (h : β x β f .fst x β‘ g .fst x)
β Square (h (A .snd)) (f .snd) (g .snd) refl
β f β‘ g
= funext h i , pth i funextβ h pth i