Built with Alectryon. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
From HoTT Require Import Basics Types.From HoTT Require Import Basics Types.From HoTT.WildCat Require Import Core Equiv NatTrans Yoneda.Require Import Pointed.Require Import Truncations.Core Truncations.Connectedness.Require Import Spaces.Int Spaces.Circle Spaces.Spheres.From HoTT.Algebra.AbGroups Require Import AbelianGroup Z.Require Import Homotopy.HomotopyGroup.Require Import Homotopy.HSpaceS1.Require Import Homotopy.Hopf.(** * We show that the nth homotopy group of the n-sphere is the integers, for n >= 1. *)LocalOpen Scope wc_iso_scope.LocalOpen Scope pointed_scope.(** The fundamental group of the 1-sphere / circle. *)SectionPi1S1.Context `{Univalence}.
H: Univalence
Pi 1 [Circle, base] ≅ abgroup_Z
H: Univalence
Pi 1 [Circle, base] ≅ abgroup_Z
(** We give the isomorphism backwards, so we check the operation is preserved coming from the integer side. *)
equiv_composeR' equiv_loopCircle_int^-1 (equiv_tr 0 (loops [Circle, base]))
(sg_op a b) =
sg_op
(equiv_composeR' equiv_loopCircle_int^-1
(equiv_tr 0 (loops [Circle, base])) a)
(equiv_composeR' equiv_loopCircle_int^-1
(equiv_tr 0 (loops [Circle, base])) b)
H: Univalence a, b: abgroup_Z
Circle_decode base (a + b)%int = Circle_decode base a @ Circle_decode base b
apply loopexp_add.Defined.
H: Univalence
Pi 1 (psphere 1) ≅ abgroup_Z
H: Univalence
Pi 1 (psphere 1) ≅ abgroup_Z
H: Univalence
Pi 1 (psphere 1) ≅ ?Goal
H: Univalence
?Goal ≅ abgroup_Z
H: Univalence
Pi 1 (psphere 1) ≅ Pi 1 [Circle, base]
H: Univalence
psphere 1 <~>* [Circle, base]
apply pequiv_S1_Circle.Defined.EndPi1S1.(** The second homotopy group of the 2-sphere is the integers. *)SectionPi2S2.Definitionptr_loops_s2_s1 `{Univalence}
: pTr 1 (loops (psphere 2)) <~>* psphere 1
:= (licata_finster (psphere 1))^-1*.
H: Univalence
Pi 2 (psphere 2) ≅ abgroup_Z
H: Univalence
Pi 2 (psphere 2) ≅ abgroup_Z
H: Univalence
Pi 2 (psphere 2) ≅ Pi 1 (psphere 1)
H: Univalence
Pi 1 (loops (psphere 2)) ≅ Pi 1 (psphere 1)
symmetry; exact (grp_iso_Pi_connected_hspace (psphere 1)).(* The last line can also be replaced with exact (compose_cate (A:=Group) (emap (Pi 1) ptr_loops_s2_s1) (grp_iso_pi_Tr _ _)). *)Defined.EndPi2S2.(** For n >= 1, the nth homotopy group of the n-sphere is the integers. *)SectionPinSn.
(* The (n+2)-sphere is (n+1)-connected, so [loop_susp_unit] is [n +2+ n]-connected. Since [n.+2 <= n +2+ n], we're done, after some [trunc_index] juggling. *)