Group actions by isometries #
In this file we define two typeclasses:
IsometricSMul M X
says thatM
multiplicatively acts on a (pseudo extended) metric spaceX
by isometries;IsometricVAdd
is an additive version ofIsometricSMul
.
We also prove basic facts about isometric actions and define bundled isometries
IsometryEquiv.constSMul
, IsometryEquiv.mulLeft
, IsometryEquiv.mulRight
,
IsometryEquiv.divLeft
, IsometryEquiv.divRight
, and IsometryEquiv.inv
, as well as their
additive versions.
If G
is a group, then IsometricSMul G G
means that G
has a left-invariant metric while
IsometricSMul Gᵐᵒᵖ G
means that G
has a right-invariant metric. For a commutative group,
these two notions are equivalent. A group with a right-invariant metric can be also represented as a
NormedGroup
.
An additive action is isometric if each map x ↦ c +ᵥ x
is an isometry.
Instances
A multiplicative action is isometric if each map x ↦ c • x
is an isometry.
Instances
If an additive group G
acts on X
by isometries,
then IsometryEquiv.constVAdd
is the isometry of X
given by addition of a constant element of the
group.
Equations
- IsometryEquiv.constVAdd c = { toEquiv := AddAction.toPerm c, isometry_toFun := (_ : Isometry fun x => c +ᵥ x) }
Instances For
If a group G
acts on X
by isometries, then IsometryEquiv.constSMul
is the isometry of
X
given by multiplication of a constant element of the group.
Equations
- IsometryEquiv.constSMul c = { toEquiv := MulAction.toPerm c, isometry_toFun := (_ : Isometry fun x => c • x) }
Instances For
Addition y ↦ x + y
as an IsometryEquiv
.
Equations
- IsometryEquiv.addLeft c = { toEquiv := Equiv.addLeft c, isometry_toFun := (_ : ∀ (b c : G), edist (c + b) (c + c) = edist b c) }
Instances For
Multiplication y ↦ x * y
as an IsometryEquiv
.
Equations
- IsometryEquiv.mulLeft c = { toEquiv := Equiv.mulLeft c, isometry_toFun := (_ : ∀ (b c : G), edist (c * b) (c * c) = edist b c) }
Instances For
Addition y ↦ y + x
as an IsometryEquiv
.
Equations
- IsometryEquiv.addRight c = { toEquiv := Equiv.addRight c, isometry_toFun := (_ : ∀ (a b : G), edist (a + c) (b + c) = edist a b) }
Instances For
Multiplication y ↦ y * x
as an IsometryEquiv
.
Equations
- IsometryEquiv.mulRight c = { toEquiv := Equiv.mulRight c, isometry_toFun := (_ : ∀ (a b : G), edist (a * c) (b * c) = edist a b) }
Instances For
Subtraction y ↦ y - x
as an IsometryEquiv
.
Equations
- IsometryEquiv.subRight c = { toEquiv := Equiv.subRight c, isometry_toFun := (_ : ∀ (a b : G), edist (a - c) (b - c) = edist a b) }
Instances For
Division y ↦ y / x
as an IsometryEquiv
.
Equations
- IsometryEquiv.divRight c = { toEquiv := Equiv.divRight c, isometry_toFun := (_ : ∀ (a b : G), edist (a / c) (b / c) = edist a b) }
Instances For
Subtraction y ↦ x - y
as an IsometryEquiv
.
Equations
- IsometryEquiv.subLeft c = { toEquiv := Equiv.subLeft c, isometry_toFun := (_ : ∀ (b c : G), edist (c - b) (c - c) = edist b c) }
Instances For
Division y ↦ x / y
as an IsometryEquiv
.
Equations
- IsometryEquiv.divLeft c = { toEquiv := Equiv.divLeft c, isometry_toFun := (_ : ∀ (b c : G), edist (c / b) (c / c) = edist b c) }
Instances For
Negation x ↦ -x
as an IsometryEquiv
.
Equations
Instances For
Inversion x ↦ x⁻¹
as an IsometryEquiv
.
Equations
Instances For
Given an additive isometric action of G
on X
, the image of a bounded set in X
under translation by c : G
is bounded
If G
acts isometrically on X
, then the image of a bounded set in X
under scalar
multiplication by c : G
is bounded. See also Bornology.IsBounded.smul₀
for a similar lemma about
normed spaces.