Skip to content

Commit 24f7937

Browse files
Merge pull request #2367 from jdchristensen/EMspaces
Minor cleanups to homotopy groups, etc
2 parents db7e8ae + 69a1295 commit 24f7937

4 files changed

Lines changed: 20 additions & 12 deletions

File tree

theories/Homotopy/EMSpace.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ Section EilenbergMacLane.
130130
K( (Pi n.+2 X) n.+2)
131131
<~>* K( (Pi n.+1 (loops X)), n.+2)
132132
= pTr n.+2 (psusp K( (Pi n.+1 (loops X)), n.+1)) [by definition]
133-
<~>* pTr n.+2 (psusp (loops X))
133+
<~>* pTr n.+2 (psusp (loops X)) [by induction]
134134
<~>* pTr n.+2 X
135135
<~>* X
136136
>>

theories/Homotopy/HomotopyGroup.v

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ Instance is01cat_homotopygroup_type (n : nat)
3434
: Is01Cat (HomotopyGroup_type n) := ltac:(destruct n; exact _).
3535
Instance is1cat_homotopygroup_type (n : nat)
3636
: Is1Cat (HomotopyGroup_type n) := ltac:(destruct n; exact _).
37+
Instance hasequivs_homotopygroup_type (n : nat)
38+
: HasEquivs (HomotopyGroup_type n) := ltac:(destruct n; exact _).
3739
Instance is0functor_homotopygroup_type_ptype (n : nat)
3840
: Is0Functor (HomotopyGroup_type_ptype n)
3941
:= ltac:(destruct n; exact _).

theories/Homotopy/Hopf.v

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
From HoTT Require Import Basics Types Pointed Truncations.
22
Require Import HSpace Suspension ExactSequence HomotopyGroup.
3+
(* Group not imported, as it confuses Rocq regarding [*.] notation. *)
4+
Require Algebra.Groups.Group.
35
Require Import WildCat.Core WildCat.Universe WildCat.Equiv Modalities.ReflectiveSubuniverse Modalities.Descent.
46
Require Import HSet Spaces.Nat.Core.
57
Require Import Homotopy.Join Colimits.Pushout.
@@ -8,7 +10,6 @@ Local Open Scope pointed_scope.
810
Local Open Scope trunc_scope.
911
Local Open Scope mc_mult_scope.
1012

11-
1213
(** * The Hopf construction *)
1314

1415
(** We define the Hopf construction associated to a left-invertible H-space, and use it to prove that H-spaces satisfy a strengthened version of Freudenthal's theorem (see [freudenthal_hspace] below). *)
@@ -24,7 +25,7 @@ Proof.
2425
- simpl. exact pt.
2526
Defined.
2627

27-
(** *** Total space of the Hopf construction *)
28+
(** ** Total space of the Hopf construction *)
2829

2930
(** The total space of the Hopf construction on [Susp X] is the join of [X] with itself. Note that we need both left and right multiplication to be equivalences. This is true when [X] is a 0-connected H-space for example. (This is lemma 8.5.7 in the HoTT book). *)
3031
Definition pequiv_hopf_total_join `{Univalence} (X : pType)
@@ -60,7 +61,7 @@ Proof.
6061
apply transport_path_universe.
6162
Defined.
6263

63-
(** The connecting map associated to the Hopf construction of [X] is a retraction of [loop_susp_unit X] (Proposition 2.19 in https://arxiv.org/abs/2301.02636v1). *)
64+
(** The connecting map [loops (psusp X) ->* X] associated to the Hopf construction of [X] is a retraction of [loop_susp_unit X] (Proposition 2.19 in https://arxiv.org/abs/2301.02636v1). *)
6465
Proposition hopf_retraction `{Univalence} (X : pType)
6566
`{IsHSpace X} `{forall a, IsEquiv (a *.)}
6667
: connecting_map_family (hopf_construction X) o* loop_susp_unit X
@@ -78,8 +79,7 @@ Defined.
7879

7980
(** It follows from [hopf_retraction] and Freudenthal's theorem that [loop_susp_unit] induces an equivalence on [Pi (2n+1)] for [n]-connected H-spaces (with n >= 0). Note that [X] is automatically left-invertible. *)
8081
Proposition isequiv_Pi_connected_hspace `{Univalence}
81-
{n : nat} (X : pType) `{IsConnected n X}
82-
`{IsHSpace X}
82+
{n : nat} (X : pType) `{IsConnected n X} `{IsHSpace X}
8383
: IsEquiv (fmap (pPi (n + n).+1) (loop_susp_unit X)).
8484
Proof.
8585
napply isequiv_surj_emb.
@@ -93,6 +93,13 @@ Proof.
9393
apply hopf_retraction.
9494
Defined.
9595

96+
(** Since the above equivalence is also a group homomorphism, we get an isomorphism of groups. (We could also express the conclusion using the wild-category notation [$<~>], but then the goal would involve [HomotopyGroup_type _] instead of literally being in the category [Group].) *)
97+
Definition grp_iso_Pi_connected_hspace `{Univalence}
98+
{n : nat} (X : pType) `{IsConnected n X} `{IsHSpace X}
99+
: Group.GroupIsomorphism (Pi (n + n).+1 X) (Pi (n + n).+1 (loops (psusp X)))
100+
:= Group.Build_GroupIsomorphism _ _ (fmap (Pi (n + n).+1) (loop_susp_unit X))
101+
(isequiv_Pi_connected_hspace X).
102+
96103
(** By Freudenthal, [loop_susp_unit] induces an equivalence on lower homotopy groups as well, so it is a (2n+1)-equivalence. We formalize it below with [m = n-1], and allow [n] to start at [-1]. We prove it using a more general result about reflective subuniverses, [OO_inverts_conn_map_factor_conn_map], but one could also use homotopy groups and the truncated Whitehead theorem. *)
97104
Definition freudenthal_hspace' `{Univalence}
98105
{m : trunc_index} (X : pType) `{IsConnected m.+1 X}

theories/Homotopy/PinSn.v

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ Local Open Scope pointed_scope.
1818
Section Pi1S1.
1919
Context `{Univalence}.
2020

21-
Local Open Scope pointed_scope.
22-
2321
Theorem pi1_circle : Pi 1 [Circle, base] ≅ abgroup_Z.
2422
Proof.
2523
(** We give the isomorphism backwards, so we check the operation is preserved coming from the integer side. *)
@@ -57,9 +55,10 @@ Section Pi2S2.
5755
Proof.
5856
refine (pi1_s1 $oE _).
5957
change (Pi 2 ?X) with (Pi 1 (loops X)).
60-
refine (compose_cate (b:=Pi 1 (pTr 1 (loops (psphere 2)))) _ _).
61-
1: exact (emap (Pi 1) ptr_loops_s2_s1).
62-
apply grp_iso_pi_Tr.
58+
symmetry; exact (grp_iso_Pi_connected_hspace (psphere 1)).
59+
(* The last line can also be replaced with
60+
exact (compose_cate (A:=Group) (emap (Pi 1) ptr_loops_s2_s1)
61+
(grp_iso_pi_Tr _ _)). *)
6362
Defined.
6463

6564
End Pi2S2.
@@ -82,6 +81,6 @@ Section PinSn.
8281
apply (isconnmap_pred_add n.-2).
8382
rewrite 2 trunc_index_add_succ.
8483
change (IsConnMap (Tr (n +2+ n)) (loop_susp_unit (psphere n.+2))).
85-
exact _. (* [conn_map_loop_susp_unit] *)
84+
rapply conn_map_loop_susp_unit.
8685
Defined.
8786
End PinSn.

0 commit comments

Comments
 (0)