module Homotopy.Space.Suspension where
Suspension🔗
Given a type its (reduced) suspension is the higher-inductive type generated by the following constructors:
data Susp {ℓ} (A : Type ℓ) : Type ℓ where
: Susp A
N S : A → N ≡ S merid
The names N
and S
are meant to evoke the north
and south poles of a sphere, respectively, and the name merid
should evoke the
meridians. Indeed, we can picture a suspension like a sphere1:
We have the north and south poles and above and below a copy of the space which is diagrammatically represented by the shaded region. In the type theory, we can’t really “see” this copy of we only see its ghost, as something keeping all the meridians from collapsing.
By convention, we see the suspension as a pointed type with the north pole as the base point.
: ∀ {ℓ} (A : Type ℓ) → Type∙ ℓ
Susp∙ = Susp A , N Susp∙ A
Susp-elim: ∀ {ℓ ℓ'} {A : Type ℓ} (P : Susp A → Type ℓ')
→ (pN : P N) (pS : P S)
→ (∀ x → PathP (λ i → P (merid x i)) pN pS)
→ ∀ x → P x
= pN
Susp-elim P pN pS pmerid N = pS
Susp-elim P pN pS pmerid S (merid x i) = pmerid x i
Susp-elim P pN pS pmerid
unquoteDecl Susp-elim-prop = make-elim-n 1 Susp-elim-prop (quote Susp)
Every suspension admits a surjection from the booleans:
: ∀ {ℓ} {A : Type ℓ} → Bool → Susp A
2→Σ = N
2→Σ true = S
2→Σ false
: ∀ {ℓ} {A : Type ℓ} → is-surjective (2→Σ {A = A})
2→Σ-surjective = Susp-elim-prop (λ _ → hlevel 1)
2→Σ-surjective (inc (true , refl)) (inc (false , refl))
The suspension operation increases the connectedness of spaces: if is then is Unfolding this a bit further, if is a type whose homotopy groups below are trivial, then will have trivial homotopy groups below
Diagrams are hard, okay?!↩︎