# mathlib3documentation

topology.homotopy.H_spaces

# H-spaces #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

This file defines H-spaces mainly following the approach proposed by Serre in his paper Homologie singulière des espaces fibrés. The idea beaneath H-spaces is that they are topological spaces with a binary operation ⋀ : X → X → X that is a homotopic-theoretic weakening of an operation what would make X into a topological monoid. In particular, there exists a "neutral element" e : X such that λ x, e ⋀ x and λ x, x ⋀ e are homotopic to the identity on X, see the Wikipedia page of H-spaces.

Some notable properties of H-spaces are

• Their fundamental group is always abelian (by the same argument for topological groups);
• Their cohomology ring comes equipped with a structure of a Hopf-algebra;
• The loop space based at every x : X carries a structure of an H-spaces.

## Main Results #

• Every topological group G is an H-space using its operation * : G → G → G (this is already true if G has an instance of a mul_one_class and continuous_mul);
• Given two H-spaces X and Y, their product is again an H-space. We show in an example that starting with two topological groups G, G', the H-space structure on G × G' is definitionally equal to the product of H-space structures on G and G'.
• The loop space based at every x : X carries a structure of an H-spaces.

## To Do #

• Prove that for every normed_add_torsor Z and every z : Z, the operation λ x y, midpoint x y defines a H-space structure with z as a "neutral element".
• Prove that S^0, S^1, S^3 and S^7 are the unique spheres that are H-spaces, where the first three inherit the structure because they are topological groups (they are Lie groups, actually), isomorphic to the invertible elements in ℤ, in ℂ and in the quaternion; and the fourth from the fact that S^7 coincides with the octonions of norm 1 (it is not a group, in particular, only has an instance of mul_one_class).

## References #

@[class]
structure H_space (X : Type u)  :

A topological space X is an H-space if it behaves like a (potentially non-associative) topological group, but where the axioms for a group only hold up to homotopy.

Instances of this typeclass
Instances of other typeclasses for H_space
• H_space.has_sizeof_inst
@[protected, instance]
def H_space.prod (X : Type u) (Y : Type v) [H_space X] [H_space Y] :
H_space (X × Y)
Equations

The definition to_H_space is not an instance because its @additive version would lead to a diamond since a topological field would inherit two H_space structures, one from the mul_one_class and one from the add_zero_class. In the case of a group, we make topological_group.H_space an instance."

Equations

The definition to_H_space is not an instance because it comes together with a multiplicative version which would lead to a diamond since a topological field would inherit two H_space structures, one from the mul_one_class and one from the add_zero_class. In the case of an additive group, we make topological_group.H_space an instance.

Equations
@[protected, instance]
Equations
@[protected, instance]
def topological_group.H_space (G : Type u) [group G]  :
Equations
noncomputable def unit_interval.Q_right  :

Q_right is analogous to the function Q defined on p. 475 of [Ser51] that helps proving continuity of delay_refl_right.

Equations
noncomputable def path.delay_refl_right {X : Type u} {x y : X} (θ : unit_interval) (γ : path x y) :
path x y

This is the function analogous to the one on p. 475 of [Ser51], defining a homotopy from the product path γ ∧ e to γ.

Equations
theorem path.continuous_delay_refl_right {X : Type u} {x y : X} :
theorem path.delay_refl_right_zero {X : Type u} {x y : X} (γ : path x y) :
= γ.trans (path.refl y)
theorem path.delay_refl_right_one {X : Type u} {x y : X} (γ : path x y) :
noncomputable def path.delay_refl_left {X : Type u} {x y : X} (θ : unit_interval) (γ : path x y) :
path x y

This is the function on p. 475 of [Ser51], defining a homotopy from a path γ to the product path e ∧ γ.

Equations
theorem path.continuous_delay_refl_left {X : Type u} {x y : X} :
theorem path.delay_refl_left_zero {X : Type u} {x y : X} (γ : path x y) :
= (path.refl x).trans γ
theorem path.delay_refl_left_one {X : Type u} {x y : X} (γ : path x y) :
@[protected, instance]
noncomputable def path.H_space {X : Type u} (x : X) :

The loop space at x carries a structure of a H-space. Note that the field e_Hmul (resp. Hmul_e) neither implies nor is implied by path.homotopy.refl_trans (resp. path.homotopy.trans_refl).

Equations