H-spaces #
This file defines H-spaces mainly following the approach proposed by Serre in his paper
Homologie singulière des espaces fibrés. The idea beneath 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 fun x ↦e ⋀ x
and
fun 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 anH-spaces
.
Main Results #
- Every topological group
G
is anH-space
using its operation* : G → G → G
(this is already true ifG
has an instance of aMulOneClass
andContinuousMul
); - Given two
H-spaces
X
andY
, their product is again anH
-space. We show in an example that starting with two topological groupsG, G'
, theH
-space structure onG × G'
is definitionally equal to the product ofH-space
structures onG
andG'
. - The loop space based at every
x : X
carries a structure of anH-spaces
.
To Do #
- Prove that for every
NormedAddTorsor Z
and everyz : Z
, the operationfun x y ↦ midpoint x y
defines anH-space
structure withz
as a "neutral element". - Prove that
S^0
,S^1
,S^3
andS^7
are the unique spheres that areH-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 thatS^7
coincides with the octonions of norm 1 (it is not a group, in particular, only has an instance ofMulOneClass
).
References #
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.
- e : X
- hmul_e_e : HSpace.hmul (HSpace.e, HSpace.e) = HSpace.e
- eHmul : (HSpace.hmul.comp ((ContinuousMap.const X HSpace.e).prodMk (ContinuousMap.id X))).HomotopyRel (ContinuousMap.id X) {HSpace.e}
- hmulE : (HSpace.hmul.comp ((ContinuousMap.id X).prodMk (ContinuousMap.const X HSpace.e))).HomotopyRel (ContinuousMap.id X) {HSpace.e}
Instances
The binary operation hmul
on an H
-space
Equations
- HSpaces.«term_⋀_» = Lean.ParserDescr.trailingNode `HSpaces.«term_⋀_» 1022 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "⋀") (Lean.ParserDescr.cat `term 0))
Instances For
Equations
- One or more equations did not get rendered due to their size.
The definition toHSpace
is not an instance because its additive version would
lead to a diamond since a topological field would inherit two HSpace
structures, one from the
MulOneClass
and one from the AddZeroClass
. In the case of a group, we make
TopologicalGroup.hSpace
an instance."
Equations
- One or more equations did not get rendered due to their size.
Instances For
The definition toHSpace
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 HSpace
structures, one from the MulOneClass
and one from the AddZeroClass
.
In the case of an additive group, we make TopologicalAddGroup.hSpace
an instance.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
qRight
is analogous to the function Q
defined on p. 475 of [Ser51] that helps proving
continuity of delayReflRight
.
Equations
- unitInterval.qRight p = Set.projIcc 0 1 unitInterval.qRight.proof_1 (2 * ↑p.1 / (1 + ↑p.2))
Instances For
This is the function analogous to the one on p. 475 of [Ser51], defining a homotopy from
the product path γ ∧ e
to γ
.
Equations
- Path.delayReflRight θ γ = { toFun := fun (t : ↑unitInterval) => γ (unitInterval.qRight (t, θ)), continuous_toFun := ⋯, source' := ⋯, target' := ⋯ }
Instances For
This is the function on p. 475 of [Ser51], defining a homotopy from a path γ
to the
product path e ∧ γ
.
Equations
- Path.delayReflLeft θ γ = (Path.delayReflRight θ γ.symm).symm