module 1Lab.Type.Pointed wherePointed typesπ
A pointed type is a type equipped with a choice of base point .
Typeβ : β β β Type (lsuc β)
Typeβ β = Ξ£ (Type β) (Ξ» A β A)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:
funextβ : {f g : A ββ B}
β (h : β x β f .fst x β‘ g .fst x)
β Square (h (A .snd)) (f .snd) (g .snd) refl
β f β‘ g
funextβ h pth i = funext h i , pth i