Diffeological groups #
Adapted from Mathlib.Topology.Algebra.Group.Basic
.
Equations
- DDiffeomorph.mulLeft a = { toEquiv := Equiv.mulLeft a, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
Equations
- DDiffeomorph.addLeft a = { toEquiv := Equiv.addLeft a, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
Equations
- DDiffeomorph.mulRight a = { toEquiv := Equiv.mulRight a, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
Equations
- DDiffeomorph.addRight a = { toEquiv := Equiv.addRight a, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
DSmoothInv
and DSmoothNeg
#
Class saying that negation in a type is smooth. A diffeological additive group is then
a type with the instances AddGroup G
, DSmoothAdd G
and DSmoothNeg G
.
Instances
Class saying that inversion in a type is smooth. A diffeological group is then
a type with the instances Group G
, DSmoothMul G
and DSmoothInv G
.
Instances
Inversion in a diffeological group as a diffeomorphism.
Equations
- Diffeomorph.inv G = { toEquiv := Equiv.inv G, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
Negation in a diffeological group as a diffeomorphism.
Equations
- Diffeomorph.neg G = { toEquiv := Equiv.neg G, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
Diffeological groups #
A diffeological group is a group which is also a diffeological space in such a way that the multiplication and inversion operations are smooth.
A diffeological (additive) group is a group in which the addition and negation operations are dsmooth.
- dsmooth_add : DSmooth fun (p : G × G) => p.1 + p.2
- dsmooth_neg : DSmooth fun (a : G) => -a
Instances
A diffeological group is a group in which the multiplication and inversion operations are smooth.
- dsmooth_mul : DSmooth fun (p : G × G) => p.1 * p.2
- dsmooth_inv : DSmooth fun (a : G) => a⁻¹
Instances
Conjugation is jointly smooth on G × G
when both mul
and inv
are smooth.
Conjugation is jointly smooth on G × G
when both add
and neg
are smooth.
Conjugation by a fixed element is smooth when mul
is smooth.
Conjugation by a fixed element is smooth when add
is smooth.
Conjugation acting on fixed element of the group is smooth when both mul
and
inv
are smooth.
Conjugation acting on fixed element of the additive group is smooth when both
add
and neg
are smooth.
If multiplication is continuous in α
, then it also is in αᵐᵒᵖ
.
If addition is continuous in α
, then it also is in αᵃᵒᵖ
.
The map (x, y) ↦ (x, x * y)
as a diffeomorphism. This is a shear mapping.
Equations
- DDiffeomorph.shearMulRight G = { toEquiv := (Equiv.refl G).prodShear Equiv.mulLeft, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
The map (x, y) ↦ (x, x + y)
as a homeomorphism. This is a shear mapping.
Equations
- DDiffeomorph.shearAddRight G = { toEquiv := (Equiv.refl G).prodShear Equiv.addLeft, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
For any group homomorphism to a diffeological group, the induced diffeology makes the domain a diffeological group too.
For any group homomorphism to a diffeological group, the induced diffeology makes the domain a diffeological group too.
A typeclass saying that p : G × G ↦ p.1 - p.2
is a smooth function. This property
automatically holds for diffeological additive groups but it also holds, e.g., for ℝ≥0
.
Instances
A typeclass saying that p : G × G ↦ p.1 / p.2
is a smooth function. This property
automatically holds for diffeological groups. Lemmas using this class have primes.
The unprimed version is for GroupWithZero
.
Instances
A version of DDiffeomorph.mulLeft a b⁻¹
that is defeq to a / b
.
Equations
- DDiffeomorph.divLeft g = { toEquiv := Equiv.divLeft g, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
A version of DDiffeomorph.addLeft a (-b)
that is defeq to a - b
.
Equations
- DDiffeomorph.subLeft g = { toEquiv := Equiv.subLeft g, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
A version of DDiffeomorph.mulRight a⁻¹ b
that is defeq to b / a
.
Equations
- DDiffeomorph.divRight g = { toEquiv := Equiv.divRight g, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
A version of DDiffeomorph.addRight (-a) b
that is defeq to b - a
.
Equations
- DDiffeomorph.subRight g = { toEquiv := Equiv.subRight g, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
A group with smooth inversion is diffeomorphic to its units.
Equations
- toUnits_ddiffeomorph = { toEquiv := toUnits.toEquiv, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
An additive group with smooth negation is homeomorphic to its additive units.
Equations
- toAddUnits_ddiffeomorph = { toEquiv := toAddUnits.toEquiv, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
The diffeological group isomorphism between the units of a product of two monoids, and the product of the units of each monoid.
Equations
- Units.DDiffeomorph.prodUnits = { toEquiv := MulEquiv.prodUnits.toEquiv, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
The diffeological group isomorphism between the additive units of a product of two additive monoids, and the product of the additive units of each additive monoid.
Equations
- AddUnits.DDiffeomorph.sumAddUnits = { toEquiv := AddEquiv.prodAddUnits.toEquiv, dsmooth_toFun := ⋯, dsmooth_invFun := ⋯ }
Instances For
Lattice of group diffeologies #
We define a type class GroupDiffeology G
which endows a group G
with a diffeology such
that all group operations are smooth.
Group diffeologies on a fixed group G
are ordered by inclusion. They form a complete
lattice, with ⊥
the discrete diffeology and ⊤
the indiscrete diffeology.
Any function f : G → H
induces coinduced f : DiffeologicalSpace G → GroupDiffeology H
.
An additive version AddGroupDiffeology G
is defined as well.
An additive group diffeology on a group G
is a diffeology that makes G
into an
additive diffeological group.
- isOpen_iff_preimages_plots {u : Set G} : TopologicalSpace.IsOpen u ↔ ∀ {n : ℕ}, ∀ p ∈ plots n, TopologicalSpace.IsOpen (p ⁻¹' u)
- dsmooth_add : DSmooth fun (p : G × G) => p.1 + p.2
- dsmooth_neg : DSmooth fun (a : G) => -a
Instances For
A group diffeology on a group G
is a diffeology that makes G
into a
diffeological group.
- isOpen_iff_preimages_plots {u : Set G} : TopologicalSpace.IsOpen u ↔ ∀ {n : ℕ}, ∀ p ∈ plots n, TopologicalSpace.IsOpen (p ⁻¹' u)
- dsmooth_mul : DSmooth fun (p : G × G) => p.1 * p.2
- dsmooth_inv : DSmooth fun (a : G) => a⁻¹
Instances For
A version of the global dsmooth_mul
suitable for dot notation.
A version of the global dsmooth_add
suitable for dot notation.
A version of the global dsmooth_inv
suitable for dot notation.
A version of the global dsmooth_neg
suitable for dot notation.
Equations
- GroupDiffeology.instTop = { top := { toDiffeologicalSpace := ⊤, toDiffeologicalGroup := ⋯ } }
Equations
- AddGroupDiffeology.instTop = { top := { toDiffeologicalSpace := ⊤, toDiffeologicalAddGroup := ⋯ } }
Equations
- GroupDiffeology.instBot = { bot := { toDiffeologicalSpace := ⊥, toDiffeologicalGroup := ⋯ } }
Equations
- AddGroupDiffeology.instBot = { bot := { toDiffeologicalSpace := ⊥, toDiffeologicalAddGroup := ⋯ } }
Equations
- GroupDiffeology.instBoundedOrder = { toTop := GroupDiffeology.instTop, le_top := ⋯, toBot := GroupDiffeology.instBot, bot_le := ⋯ }
Equations
- AddGroupDiffeology.instBoundedOrder = { toTop := AddGroupDiffeology.instTop, le_top := ⋯, toBot := AddGroupDiffeology.instBot, bot_le := ⋯ }
Equations
- GroupDiffeology.instMin = { min := fun (d₁ d₂ : GroupDiffeology G) => { toDiffeologicalSpace := d₁.toDiffeologicalSpace ⊓ d₂.toDiffeologicalSpace, toDiffeologicalGroup := ⋯ } }
Equations
- AddGroupDiffeology.instMin = { min := fun (d₁ d₂ : AddGroupDiffeology G) => { toDiffeologicalSpace := d₁.toDiffeologicalSpace ⊓ d₂.toDiffeologicalSpace, toDiffeologicalAddGroup := ⋯ } }
Equations
- GroupDiffeology.instInhabited = { default := ⊤ }
Equations
- AddGroupDiffeology.instInhabited = { default := ⊤ }
Infimum of a collection of group diffeologies.
Equations
- GroupDiffeology.instInfSet = { sInf := fun (D : Set (GroupDiffeology G)) => { toDiffeologicalSpace := sInf (GroupDiffeology.toDiffeologicalSpace '' D), toDiffeologicalGroup := ⋯ } }
Infimum of a collection of additive group diffeologies
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
If a diffeological group G
is locally compact under the D-topology, then it is also a
topological group. Local compactness is needed here because multiplication is a priori only
continuous with respect to the D-topology on G × G
, not the product topology - when G
is
locally compact the topologies agree, but otherwise the product topology could be
fine enough for multiplication to not be continuous.
If a diffeological group G
is locally compact under the D-topology, then it is
also a topological group. Local compactness is needed here because addition is a priori only
continuous with respect to the D-topology on G × G
, not the product topology - when G
is
locally compact the topologies agree, but otherwise the product topology could be
fine enough for addition to not be continuous.
Variant of DiffeologicalGroup.topologicalGroup
phrased in terms of spaces equipped with
DTopCompatible
topologies.
Variant of DiffeologicalAddGroup.topologicalAddGroup
phrased in terms of
spaces equipped with DTopCompatible
topologies.