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
Equations
- (_ : ContinuousConstVAdd M X) = (_ : ContinuousConstVAdd M X)
Equations
- (_ : ContinuousConstSMul M X) = (_ : ContinuousConstSMul M X)
Equations
- (_ : IsometricVAdd Mᵃᵒᵖ X) = (_ : IsometricVAdd Mᵃᵒᵖ X)
Equations
- (_ : IsometricSMul Mᵐᵒᵖ X) = (_ : IsometricSMul Mᵐᵒᵖ X)
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 : 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 : X) => c • x) }
Instances For
Addition y ↦ x + y
as an IsometryEquiv
.
Equations
- IsometryEquiv.addLeft c = { toEquiv := Equiv.addLeft c, isometry_toFun := (_ : ∀ (b c_1 : G), edist (c + b) (c + c_1) = edist b c_1) }
Instances For
Multiplication y ↦ x * y
as an IsometryEquiv
.
Equations
- IsometryEquiv.mulLeft c = { toEquiv := Equiv.mulLeft c, isometry_toFun := (_ : ∀ (b c_1 : G), edist (c * b) (c * c_1) = edist b c_1) }
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_1 : G), edist (c - b) (c - c_1) = edist b c_1) }
Instances For
Division y ↦ x / y
as an IsometryEquiv
.
Equations
- IsometryEquiv.divLeft c = { toEquiv := Equiv.divLeft c, isometry_toFun := (_ : ∀ (b c_1 : G), edist (c / b) (c / c_1) = edist b c_1) }
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.
Equations
- (_ : IsometricVAdd M (X × Y)) = (_ : IsometricVAdd M (X × Y))
Equations
- (_ : IsometricSMul M (X × Y)) = (_ : IsometricSMul M (X × Y))
Equations
- (_ : IsometricVAdd (M × N) (M × N)) = (_ : IsometricVAdd (M × N) (M × N))
Equations
- (_ : IsometricSMul (M × N) (M × N)) = (_ : IsometricSMul (M × N) (M × N))
Equations
- (_ : IsometricVAdd (M × N)ᵃᵒᵖ (M × N)) = (_ : IsometricVAdd (M × N)ᵃᵒᵖ (M × N))
Equations
- (_ : IsometricSMul (M × N)ᵐᵒᵖ (M × N)) = (_ : IsometricSMul (M × N)ᵐᵒᵖ (M × N))
Equations
- (_ : IsometricVAdd (AddUnits M) X) = (_ : IsometricVAdd (AddUnits M) X)
Equations
- (_ : IsometricSMul Mˣ X) = (_ : IsometricSMul Mˣ X)
Equations
- (_ : IsometricVAdd M Xᵃᵒᵖ) = (_ : IsometricVAdd M Xᵃᵒᵖ)
Equations
- (_ : IsometricSMul M Xᵐᵒᵖ) = (_ : IsometricSMul M Xᵐᵒᵖ)
Equations
- (_ : IsometricVAdd (ULift.{u_2, u} M) X) = (_ : IsometricVAdd (ULift.{u_2, u} M) X)
Equations
- (_ : IsometricSMul (ULift.{u_2, u} M) X) = (_ : IsometricSMul (ULift.{u_2, u} M) X)
Equations
- (_ : IsometricVAdd M (ULift.{u_2, w} X)) = (_ : IsometricVAdd M (ULift.{u_2, w} X))
Equations
- (_ : IsometricSMul M (ULift.{u_2, w} X)) = (_ : IsometricSMul M (ULift.{u_2, w} X))
Equations
- (_ : IsometricVAdd M ((i : ι) → X i)) = (_ : IsometricVAdd M ((i : ι) → X i))
Equations
- (_ : IsometricSMul M ((i : ι) → X i)) = (_ : IsometricSMul M ((i : ι) → X i))
Equations
- (_ : IsometricVAdd ((i : ι) → M i) ((i : ι) → X i)) = (_ : IsometricVAdd ((i : ι) → M i) ((i : ι) → X i))
Equations
- (_ : IsometricSMul ((i : ι) → M i) ((i : ι) → X i)) = (_ : IsometricSMul ((i : ι) → M i) ((i : ι) → X i))
Equations
- (_ : IsometricVAdd ((i : ι) → M i)ᵃᵒᵖ ((i : ι) → M i)) = (_ : IsometricVAdd ((i : ι) → M i)ᵃᵒᵖ ((i : ι) → M i))
Equations
- (_ : IsometricSMul ((i : ι) → M i)ᵐᵒᵖ ((i : ι) → M i)) = (_ : IsometricSMul ((i : ι) → M i)ᵐᵒᵖ ((i : ι) → M i))
Equations
- (_ : IsometricVAdd (Additive M) X) = (_ : IsometricVAdd (Additive M) X)
Equations
- (_ : IsometricVAdd (Additive M) (Additive M)) = (_ : IsometricVAdd (Additive M) (Additive M))
Equations
- (_ : IsometricVAdd (Additive M)ᵃᵒᵖ (Additive M)) = (_ : IsometricVAdd (Additive M)ᵃᵒᵖ (Additive M))
Equations
- (_ : IsometricSMul (Multiplicative M) X) = (_ : IsometricSMul (Multiplicative M) X)
Equations
- (_ : IsometricSMul (Multiplicative M) (Multiplicative M)) = (_ : IsometricSMul (Multiplicative M) (Multiplicative M))
Equations
- (_ : IsometricSMul (Multiplicative M)ᵐᵒᵖ (Multiplicative M)) = (_ : IsometricSMul (Multiplicative M)ᵐᵒᵖ (Multiplicative M))