module Homotopy.Space.Suspension.Freudenthal where
Freudenthal suspension theoremπ
The merid
constructor of the suspension
generates a path between the north
and south
poles, rather than a
loop on either pole. If
is pointed1, then we can βcorrectβ the meridian
generated by an element
by composing with the inverse of the meridian at the basepoint, to
properly get an element in the loop space
Moreover, since
is
this is a pointed map which we will call
If weβre considering
based at some other point
we will write
to indicate this.
suspendβ : β {β} (A : Typeβ β) β A ββ Ω¹ (Σ¹ A) suspendβ (_ , aβ) .fst x = merid x β sym (merid aβ) suspendβ (_ , aβ) .snd = β-invr (merid aβ)
suspend : β {β} (A : Typeβ β) β β A β β Path β Σ¹ A β north north suspend Aβ x = suspendβ Aβ .fst x
The Freudenthal suspension theorem gives a bound on the failure of this map to be an isomorphism. Precisely, it says that if is connected with then the suspension map is As a corollary, it induces an equivalence of truncations
-- this line is unfortunately long but layout stacking doesn't work -- unless it's all together like this :( module freudenthal {β} (Aβ@(A , aβ) : Typeβ β) (n : Nat) (conn : is-n-connected A (2 + n)) (let 2n = (suc n) + (suc n)) where β₯_β₯ββ : β {β} β Type β β Type β β₯ A β₯ββ = n-Tr A 2n
The proof we present is natively cubical, but the outline is the same
as the HoTT book proof (2013,
sec. 8.6): we will define a family code
over a point
and path
satisfying
and then show that
is contractible at each
We will start by giving a family of equivalences
over
between the truncated fibres
and
over some
We start by constructing such a fibre under the assumptions that
and
By the wedge connectivity lemma, it will
suffice to do so when
and
as long as our constructions agree when
When
we can show
with the final step by our assumption of
and when
we are immediately done. To show that these agree, we simply have to
prove that the round-trip between
is the identity when
but we can easily arrange for those steps to cancel in this case.
module wc (p : north β‘ north) = Wedge {Aβ = Aβ} {Aβ} {Ξ» a b β suspend Aβ b β‘ p β β₯ fibre (suspend (A , a)) p β₯ββ} n n conn conn (Ξ» x y β hlevel 2n) (Ξ» a q β inc (a , β-invr (merid a) β sym (β-invr (merid aβ)) β q)) (Ξ» a q β inc (a , q)) (funext Ξ» x β ap (Ξ» e β n-Tr.inc {n = 2n} (aβ , e)) (β-cancell (sym (β-invr (merid aβ))) x))
By truncation recursion, we can extend this to the function between fibres we promised. Since being an equivalence is a proposition and is it will suffice to show that is an equivalence; but in this case is the identity, so we are done.
fwd : β p a β β₯ fibre (suspend Aβ) p β₯ββ β β₯ fibre (suspend (A , a)) p β₯ββ fwd = elim! wc.elim fwd-is-equiv : β p a β is-equiv (fwd p a)
Actually invoking these lemmas takes a bit of bureaucracy.
fwd-is-equiv p a .is-eqv = let eqv = relative-n-type-const (Ξ» a β β t β is-contr (fibre (fwd p a) t)) (Ξ» _ β aβ) (suc n) (point-is-n-connected aβ n conn) (Ξ» x β hlevel (suc n)) it : β a (t : n-Tr (fibre (suspend Aβ) p) 2n) β is-contr (fibre (fwd p aβ) t) it = elim! Ξ» _ x q β subst (Ξ» e β is-contr (fibre e (inc (x , q)))) {x = id} {y = _} (funext (elim! Ξ» x β sym β happly (wc.Ξ²β p x))) Singleton'-is-contr in Equiv.from (_ , eqv) it a
We can then use this equivalence to define the code
family. Here is when
cubical type theory allows a significant simplification over book HoTT:
we can directly glue our equivalence along a dependent
identification interpolate
between suspend
and merid
, as in the diagram
below (where we write
for inv
and
for interpolate
).
Constructing this dependent identification is very easy, and so everything falls together as usual.
interpolate : β {β} {A : Type β} (a : A) β PathP (Ξ» i β A β north β‘ merid a i) (suspend (A , a)) merid interpolate a i x j = β-filler (merid x) (sym (merid a)) (~ i) j code : (y : Susp A) β north β‘ y β Type β code north p = β₯ fibre (suspend Aβ) p β₯ββ code south p = β₯ fibre merid p β₯ββ code (merid a i) p = Glue β₯ fibre (interpolate a i) p β₯ββ Ξ» where (i = i0) β β₯ fibre (suspend Aβ) p β₯ββ , fwd p a , fwd-is-equiv p a (i = i1) β β₯ fibre merid p β₯ββ , idβ
By path induction, each
is inhabited. We will now show that each
is contractible, with centre the encoding
of
By truncation induction we can assume we have
and
and by path induction on
we can assume
is
so that our goal is showing
is
This is a simple, if tedious, calculation.
encode : (y : Susp A) (p : north β‘ y) β code y p encode y = J code (inc (aβ , β-invr (merid aβ))) encode-paths : β p (c : β₯ fibre merid p β₯ββ) β encode south p β‘ c encode-paths p = elim! Ξ» a β J (Ξ» p r β encode south p β‘ inc (a , r)) let gp i = n-Tr (fibre (interpolate a i) (Ξ» j β merid a (i β§ j))) 2n remβ = wc.elim refl a aβ (β-invr (merid aβ)) β‘β¨ happly (wc.Ξ²β refl a) (β-invr (merid aβ)) β©β‘ inc (a , β-invr (merid a) β sym (β-invr (merid aβ)) β β-invr (merid aβ)) β‘β¨ ap (Ξ» e β n-Tr.inc (a , e)) (β-elimr (β-invl (β-invr (merid aβ)))) β©β‘ inc (a , β-invr (merid a)) β remβ = transport gp (fwd refl a (inc (aβ , β-invr (merid aβ)))) β‘β¨ ap (transport gp) remβ β©β‘ transport gp (inc (a , β-invr (merid a))) β‘β¨ from-pathp {A = Ξ» i β gp i} (Ξ» i β inc (a , Ξ» j k β β-invr-filler (merid a) j k (~ i))) β©β‘ inc (a , refl) β in remβ
By definition, this proof shows that
is an
connected map, because the
of its fibres are contractible. We have also essentially already shown
our main theorem, since we have an identification between the fibres of
merid
and those of suspend
.
merid-is-n-connected : is-n-connected-map merid 2n merid-is-n-connected x = n-connected.from (n + suc n) record { centre = encode south x ; paths = encode-paths x }
module _ {β} {Aβ@(A , aβ) : Typeβ β} (n : Nat) (conn : is-n-connected A (2 + n)) where open freudenthal Aβ n conn
suspend-is-n-connected : is-n-connected-map (suspend Aβ) (suc n + suc n) suspend-is-n-connected = transport (Ξ» i β is-n-connected-map (Ξ» z β interpolate aβ (~ i) z) (suc n + suc n)) merid-is-n-connected freudenthal-equivalence : n-Trβ Aβ (suc n + suc n) ββ n-Trβ (Ξ©βΏ 1 (Σ¹ Aβ)) (suc n + suc n) freudenthal-equivalence .fst .fst = _ freudenthal-equivalence .fst .snd = is-n-connected-mapβis-equiv-tr _ _ suspend-is-n-connected freudenthal-equivalence .snd = ap n-Tr.inc (β-invr (merid aβ))
Throughout this page we will fix a pointed type with basepoint and we will omit the distinction between and its underlying type.β©οΈ
References
- Univalent Foundations Program, The. 2013. Homotopy Type Theory: Univalent Foundations of Mathematics. Institute for Advanced Study: https://homotopytypetheory.org/book.