@@ -10,9 +10,34 @@ import topology.homotopy.path
1010# H-spaces
1111
1212This file defines H-spaces mainly following the approach proposed by Serre in his paper
13- *Homologie singulière des espaces fibrés* . The main results are the H-space `instance` on every
14- topological group, and the H-space structure on the loop space (based at `x : X` of any topological
15- space `X`, for which we introduce the notation `Ω_[x]`.
13+ *Homologie singulière des espaces fibrés* . The idea beaneath `H-spaces` is that they are topological
14+ spaces with a binary operation `⋀ : X → X → X` that is a homotopic-theoretic weakening of an
15+ operation what would make `X` into a topological monoid. In particular, there exists a "neutral
16+ element" `e : X` such that `λ x, e ⋀ x` and `λ x, x ⋀ e` are homotopic to the identity on `X`, see
17+ [ the Wikipedia page of H-spaces ] (https://en.wikipedia.org/wiki/H-space).
18+
19+ Some notable properties of `H-spaces` are
20+ * Their fundamental group is always abelian (by the same argument for topological groups);
21+ * Their cohomology ring comes equipped with a structure of a Hopf-algebra;
22+ * The loop space based at every `x : X` carries a structure of an `H-spaces`.
23+
24+ ## Main Results
25+
26+ * Every topological group `G` is an `H-space` using its operation `* : G → G → G` (this is already
27+ true if `G` has an instance of a `mul_one_class` and `continuous_mul`);
28+ * Given two `H-spaces` `X` and `Y`, their product is again an `H`-space. We show in an example that
29+ starting with two topological groups `G, G'`, the `H`-space structure on `G × G'` is definitionally
30+ equal to the product of `H-space` structures on `G` and `G'`.
31+ * The loop space based at every `x : X` carries a structure of an `H-spaces`.
32+
33+ ## To Do
34+ * Prove that for every `normed_add_torsor Z` and every `z : Z`, the operation
35+ `λ x y, midpoint x y` defines a `H-space` structure with `z` as a "neutral element".
36+ * Prove that `S^0`, `S^1`, `S^3` and `S^7` are the unique spheres that are `H-spaces`, where the
37+ first three inherit the structure because they are topological groups (they are Lie groups,
38+ actually), isomorphic to the invertible elements in `ℤ`, in `ℂ` and in the quaternion; and the
39+ fourth from the fact that `S^7` coincides with the octonions of norm 1 (it is not a group, in
40+ particular, only has an instance of `mul_one_class`).
1641
1742## References
1843
@@ -91,25 +116,34 @@ instance H_space.prod (X : Type u) (Y : Type v) [topological_space X] [topologic
91116
92117namespace topological_group
93118
94- @[priority 600 , to_additive] instance H_space (G : Type u) [topological_space G] [group G]
95- [topological_group G] : H_space G :=
119+ /-- The definition `to_H_space` is not an instance because its `@additive` version would
120+ lead to a diamond since a topological field would inherit two `H_space` structures, one from the
121+ `mul_one_class` and one from the `add_zero_class`. In the case of a group, we make
122+ `topological_group.H_space` an instance."-/
123+ @[to_additive " The definition `to_H_space` is not an instance because it comes together with a
124+ multiplicative version which would lead to a diamond since a topological field would inherit two
125+ `H_space` structures, one from the `mul_one_class` and one from the `add_zero_class`. In the case
126+ of an additive group, we make `topological_group.H_space` an instance." ]
127+ definition to_H_space (M : Type u) [mul_one_class M] [topological_space M]
128+ [has_continuous_mul M] : H_space M :=
96129{ Hmul := ⟨function.uncurry has_mul.mul, continuous_mul⟩,
97130 e := 1 ,
98131 Hmul_e_e := one_mul 1 ,
99132 e_Hmul := (homotopy_rel.refl _ _).cast rfl (by {ext1, apply one_mul}),
100133 Hmul_e := (homotopy_rel.refl _ _).cast rfl (by {ext1, apply mul_one}) }
101134
135+ @[priority 600 , to_additive] instance H_space (G : Type u)
136+ [topological_space G] [group G] [topological_group G] : H_space G := to_H_space G
137+
102138lemma one_eq_H_space_e {G : Type u} [topological_space G] [group G] [topological_group G] :
103139 (1 : G) = H_space.e := rfl
104140
105- /-
106- In the following example we see that the `H-space` structure on the product of two topological
107- groups is definitionally equally to the product `H-space`-structure of the two groups.
108- -/
141+ /- In the following example we see that the `H-space` structure on the product of two topological
142+ groups is definitionally equally to the product `H-space`-structure of the two groups.-/
143+
109144example {G G' : Type u} [topological_space G] [group G] [topological_group G]
110145 [topological_space G'] [group G'] [topological_group G'] :
111- topological_group.H_space (G × G') = H_space.prod G G' := rfl
112-
146+ to_H_space (G × G') = H_space.prod G G' := rfl
113147
114148end topological_group
115149
0 commit comments