Universal Property of suspensions of pointed types
Content created by Fredrik Bakke, Raymond Baker and Egbert Rijke
Created on 2023-08-28.
Last modified on 2023-09-12.
module synthetic-homotopy-theory.universal-property-suspensions-of-pointed-types where
Imports
open import foundation.contractible-types open import foundation.dependent-pair-types open import foundation.equivalences open import foundation.function-types open import foundation.functoriality-dependent-pair-types open import foundation.identity-types open import foundation.type-arithmetic-dependent-pair-types open import foundation.universe-levels open import structured-types.pointed-equivalences open import structured-types.pointed-maps open import structured-types.pointed-types open import synthetic-homotopy-theory.functoriality-loop-spaces open import synthetic-homotopy-theory.loop-spaces open import synthetic-homotopy-theory.suspensions-of-pointed-types open import synthetic-homotopy-theory.suspensions-of-types
Idea
The suspension of a pointed type enjoys an additional universal property, on top of the universal property associtated with being a suspension. This universal property is packaged in an adjunction: the suspension construction on pointed types is left adjoint to the loop space construction.
The unit and counit of the adjunction
module _ {l1 : Level} (X : Pointed-Type l1) where pointed-equiv-loop-pointed-identity-suspension : ( pair ( north-suspension = south-suspension) ( meridian-suspension (point-Pointed-Type X))) ≃∗ ( Ω (suspension-Pointed-Type X)) pointed-equiv-loop-pointed-identity-suspension = pointed-equiv-loop-pointed-identity ( suspension-Pointed-Type X) ( meridian-suspension (point-Pointed-Type X)) pointed-map-loop-pointed-identity-suspension : ( pair ( north-suspension = south-suspension) ( meridian-suspension (point-Pointed-Type X))) →∗ Ω (suspension-Pointed-Type X) pointed-map-loop-pointed-identity-suspension = pointed-map-pointed-equiv ( pointed-equiv-loop-pointed-identity-suspension) pointed-map-concat-meridian-suspension : X →∗ ( pair ( north-suspension = south-suspension) ( meridian-suspension (point-Pointed-Type X))) pr1 pointed-map-concat-meridian-suspension = meridian-suspension pr2 pointed-map-concat-meridian-suspension = refl pointed-map-unit-susp-loop-adj : X →∗ Ω (suspension-Pointed-Type X) pointed-map-unit-susp-loop-adj = pointed-map-loop-pointed-identity-suspension ∘∗ pointed-map-concat-meridian-suspension map-unit-susp-loop-adj : type-Pointed-Type X → type-Ω (suspension-Pointed-Type X) map-unit-susp-loop-adj = map-pointed-map pointed-map-unit-susp-loop-adj map-counit-susp-loop-adj : (suspension (type-Ω X)) → type-Pointed-Type X map-counit-susp-loop-adj = map-inv-is-equiv ( up-suspension (type-Ω X) (type-Pointed-Type X)) ( ( point-Pointed-Type X) , ( point-Pointed-Type X) , ( id)) pointed-map-counit-susp-loop-adj : ( pair (suspension (type-Ω X)) north-suspension) →∗ X pr1 pointed-map-counit-susp-loop-adj = map-counit-susp-loop-adj pr2 pointed-map-counit-susp-loop-adj = up-suspension-north-suspension ( type-Ω X) ( type-Pointed-Type X) ( ( point-Pointed-Type X) , ( point-Pointed-Type X) , ( id))
The underlying map of the equivalence
module _ {l1 l2 : Level} (X : Pointed-Type l1) (Y : Pointed-Type l2) where map-equiv-susp-loop-adj : ((suspension-Pointed-Type X) →∗ Y) → (X →∗ Ω Y) map-equiv-susp-loop-adj f∗ = ((pointed-map-Ω f∗) ∘∗ (pointed-map-unit-susp-loop-adj X))
The underlying map of the inverse equivalence
module _ {l1 l2 : Level} (X : Pointed-Type l1) (Y : Pointed-Type l2) where map-inv-equiv-susp-loop-adj : (X →∗ Ω Y) → ((suspension-Pointed-Type X) →∗ Y) pr1 (map-inv-equiv-susp-loop-adj f∗) = map-inv-up-suspension ( type-Pointed-Type X) ( type-Pointed-Type Y) ( suspension-structure-map-into-Ω ( type-Pointed-Type X) ( Y) ( map-pointed-map f∗)) pr2 (map-inv-equiv-susp-loop-adj f∗) = up-suspension-north-suspension ( type-Pointed-Type X) ( type-Pointed-Type Y) ( suspension-structure-map-into-Ω ( type-Pointed-Type X) ( Y) ( map-pointed-map f∗))
We now show these maps are inverses of each other.
The equivalence between pointed maps out of the suspension of X and pointed maps into the loop space of Y
module _ {l1 l2 : Level} (X : Pointed-Type l1) (Y : Pointed-Type l2) where equiv-susp-loop-adj : (suspension-Pointed-Type X →∗ Y) ≃ (X →∗ Ω Y) equiv-susp-loop-adj = ( left-unit-law-Σ-is-contr ( is-contr-total-path (point-Pointed-Type Y)) ( (point-Pointed-Type Y) , refl)) ∘e ( ( inv-equiv ( associative-Σ ( type-Pointed-Type Y) ( λ z → (point-Pointed-Type Y) = z) ( λ t → Σ ( type-Pointed-Type X → ( point-Pointed-Type Y) = (pr1 t)) ( λ f → f (point-Pointed-Type X) = (pr2 t))))) ∘e ( ( equiv-tot (λ y1 → equiv-left-swap-Σ)) ∘e ( ( associative-Σ ( type-Pointed-Type Y) ( λ y1 → type-Pointed-Type X → point-Pointed-Type Y = y1) ( λ z → Σ ( Id (point-Pointed-Type Y) (pr1 z)) ( λ x → pr2 z (point-Pointed-Type X) = x))) ∘e ( ( inv-equiv ( right-unit-law-Σ-is-contr ( λ ( z : Σ ( type-Pointed-Type Y) ( λ y1 → type-Pointed-Type X → point-Pointed-Type Y = y1)) → ( is-contr-total-path ( (pr2 z) (point-Pointed-Type X)))))) ∘e ( ( left-unit-law-Σ-is-contr ( is-contr-total-path' (point-Pointed-Type Y)) ( (point-Pointed-Type Y) , refl)) ∘e ( ( equiv-right-swap-Σ) ∘e ( equiv-Σ-equiv-base ( λ c → (pr1 c) = (point-Pointed-Type Y)) ( equiv-up-suspension ( type-Pointed-Type X) ( type-Pointed-Type Y)))))))))
The equivalence in the suspension-loop space adjunction is pointed
This remains to be shown. #702
Recent changes
- 2023-09-12. Egbert Rijke. Beyond foundation (#751).
- 2023-09-11. Fredrik Bakke. Transport along and action on equivalences (#706).
- 2023-09-10. Raymond Baker and Fredrik Bakke. Refactor shift, pointed identity types are loop spaces (#727).
- 2023-09-10. Fredrik Bakke. Link issues to unfinished sections (#732).
- 2023-08-28. Raymond Baker and Fredrik Bakke. Suspension reorganization (#700).