Skip to content

Commit 6c21cee

Browse files
committed
address review comments
Signed-off-by: Ali Caglayan <[email protected]>
1 parent b1758ae commit 6c21cee

File tree

2 files changed

+36
-24
lines changed

2 files changed

+36
-24
lines changed

theories/Homotopy/Hopf.v

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Proof.
2323
srapply Build_pFam.
2424
- apply (Susp_rec (Y:=Type) X X).
2525
(** In order to use the flattening lemma for colimits to show that the total space is a join, we need for this equivalence to be a composition with the inverted identity equivalence so that the fiber is definitionally equivalent to the flattening lemma sigma type. This doesn't change anything elsewhere, but saves us having to rewrite an IsEquiv witness. *)
26-
exact (fun x => path_universe ((x *.) o equiv_idmap^-1)).
26+
exact (fun x => path_universe ((x *.) o equiv_idmap)).
2727
- simpl. exact pt.
2828
Defined.
2929

@@ -106,14 +106,18 @@ Proof.
106106
rapply freudenthal_hspace.
107107
Defined.
108108

109-
(** *** Total space of the Hopf fibration *)
109+
(** *** Total space of the Hopf construction *)
110110

111-
(** The total space of the Hopf fibration 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. *)
111+
(** 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. *)
112112
(* TODO: Show that this is a pointed equivalence. We cannot yet do this as we cannot compute with the flattening lemma due to the massive size of the proof. *)
113113
Definition equiv_hopf_total_join `{Univalence} (X : pType)
114114
`{IsHSpace X} `{forall a, IsEquiv (a *.)} `{forall a, IsEquiv (.* a)}
115-
: psigma (hopf_construction X) <~> pjoin X X.
115+
: psigma (hopf_construction X) <~>* pjoin X X.
116116
Proof.
117+
symmetry.
118+
snrapply Build_pEquiv'.
119+
2: shelve.
120+
symmetry.
117121
snrefine (_ oE (pushout_flattening (f:=const_tt X) (g:=const_tt X) _
118122
(Unit_ind (pointed_type X)) (Unit_ind (pointed_type X)) (fun _ => equiv_idmap)
119123
(fun x => Build_Equiv _ _ (fun y => sg_op x y) (H1 x)))^-1%equiv).
@@ -124,11 +128,31 @@ Proof.
124128
snrapply Build_Equiv.
125129
+ exact (.* x).
126130
+ exact _.
127-
- rapply equiv_sigma_unit_ind.
128-
- rapply equiv_sigma_unit_ind.
129-
- simpl.
130-
hnf.
131-
reflexivity.
132-
- intros [x y].
133-
reflexivity.
134-
Defined.
131+
- exact (equiv_contr_sigma (Unit_ind (pointed_type X))).
132+
- exact (equiv_contr_sigma (Unit_ind (pointed_type X))).
133+
- hnf; reflexivity.
134+
- hnf; reflexivity.
135+
Unshelve.
136+
unfold "pt".
137+
Opaque pushout_flattening.
138+
simpl.
139+
Transparent pushout_flattening.
140+
unfold pushout_flattening.
141+
unfold "pt".
142+
rapply (moveR_equiv_V' (equiv_functor_sigma' _ _)).
143+
Opaque Colimit_Pushout_Flattening.PO_flattening.
144+
Opaque flattening_coh_2.
145+
simpl.
146+
unfold functor_sigma.
147+
simpl.
148+
unfold Colimit.functor_colimit.
149+
simpl.
150+
unfold Colimit.cocone_postcompose_inv.
151+
unfold Cocone.cocone_postcompose.
152+
simpl.
153+
apply moveR_equiv_M'.
154+
155+
156+
157+
Admitted.
158+

theories/Types/Unit.v

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -117,15 +117,3 @@ Definition contr_equiv_unit (A : Type) (f : A <~> Unit) : Contr A
117117

118118
(** The constant map to [Unit]. We define this so we can get rid of an unneeded universe variable that Coq generates when [const tt] is used in a context that doesn't have [Universe Minimization ToSet] as this file does. If we ever set that globally, then we could get rid of this and remove some imports of this file. *)
119119
Definition const_tt (A : Type) := @const A Unit tt.
120-
121-
(** Families over Unit type are equivalent to the type at the base point. *)
122-
Lemma equiv_sigma_unit_ind (P : Unit -> Type)
123-
: sig P <~> P tt.
124-
Proof.
125-
simple refine (equiv_adjointify _ _ _ _).
126-
- intros [[] p]; exact p.
127-
- intros p; exists tt; exact p.
128-
- reflexivity.
129-
- intros [[] p].
130-
reflexivity.
131-
Defined.

0 commit comments

Comments
 (0)