# Pointed sections of pointed maps ```agda module structured-types.pointed-sections where ``` <details><summary>Imports</summary> ```agda open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.sections open import foundation.universe-levels open import structured-types.pointed-homotopies open import structured-types.pointed-maps open import structured-types.pointed-types ``` </details> ## Idea A {{#concept "pointed section" Disambiguation="pointed map" Agda=pointed-section}} of a [pointed map](structured-types.pointed-maps.md) `f : A →∗ B` consists of a pointed map `g : B →∗ A` equipped with a [pointed homotopy](structured-types.pointed-homotopies.md) `H : f ∘∗ g ~∗ id`. ## Definitions ### The predicate of being a pointed section of a pointed map ```agda module _ {l1 l2 : Level} {A : Pointed-Type l1} {B : Pointed-Type l2} (f : A →∗ B) where is-pointed-section : (B →∗ A) → UU l2 is-pointed-section g = f ∘∗ g ~∗ id-pointed-map ``` ### The type of pointed sections of a pointed map ```agda module _ {l1 l2 : Level} {A : Pointed-Type l1} {B : Pointed-Type l2} (f : A →∗ B) where pointed-section : UU (l1 ⊔ l2) pointed-section = Σ (B →∗ A) (is-pointed-section f) module _ (s : pointed-section) where pointed-map-pointed-section : B →∗ A pointed-map-pointed-section = pr1 s is-pointed-section-pointed-section : is-pointed-section f pointed-map-pointed-section is-pointed-section-pointed-section = pr2 s map-pointed-section : type-Pointed-Type B → type-Pointed-Type A map-pointed-section = map-pointed-map pointed-map-pointed-section preserves-point-pointed-map-pointed-section : map-pointed-section (point-Pointed-Type B) = point-Pointed-Type A preserves-point-pointed-map-pointed-section = preserves-point-pointed-map pointed-map-pointed-section is-section-pointed-section : is-section (map-pointed-map f) map-pointed-section is-section-pointed-section = htpy-pointed-htpy is-pointed-section-pointed-section section-pointed-section : section (map-pointed-map f) pr1 section-pointed-section = map-pointed-section pr2 section-pointed-section = is-section-pointed-section coherence-point-is-section-pointed-section : coherence-point-unpointed-htpy-pointed-Π ( f ∘∗ pointed-map-pointed-section) ( id-pointed-map) ( is-section-pointed-section) coherence-point-is-section-pointed-section = coherence-point-pointed-htpy is-pointed-section-pointed-section ```