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
- AddUnits.isometricVAdd
- Additive.isometricVAdd
- Additive.isometricVAdd'
- Additive.isometricVAdd''
- IsometricVAdd.opposite_of_comm
- NormedAddGroup.to_isometricVAdd_left
- NormedAddGroup.to_isometricVAdd_right
- NormedAddTorsor.to_isometricVAdd
- Pi.isometricVAdd'
- Pi.isometricVAdd''
- Prod.isometricVAdd'
- Prod.isometricVAdd''
- ULift.isometricVAdd
- ULift.isometricVAdd'
- instIsometricVAddAddOppositeInstPseudoEMetricSpaceAddOppositeVadd
- instIsometricVAddForAllPseudoEMetricSpacePiInstVAdd
- instIsometricVAddSumPseudoEMetricSpaceMaxVadd
A multiplicative action is isometric if each map x ↦ c • x
is an isometry.
Instances
- DomMulAct.instIsometricSMulDomMulActSubtypeAEEqFunToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToSeminormedAddCommGroupMemAddSubgroupInstAddGroupToAddGroupToNormedAddGroupToTopologicalAddGroupInstMembershipInstSetLikeAddSubgroupLpToPseudoEMetricSpaceToEMetricSpaceToMetricSpaceInstNormedAddCommGroupInstSMulDomMulActSubtypeAEEqFunToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToSeminormedAddCommGroupMemAddSubgroupInstAddGroupToAddGroupToNormedAddGroupToTopologicalAddGroupInstMembershipInstSetLikeAddSubgroupLp
- IsometricSMul.opposite_of_comm
- Multiplicative.isometricSMul
- Multiplicative.isometricSMul'
- Multiplicative.isometricVAdd''
- NormedGroup.to_isometricSMul_left
- NormedGroup.to_isometricSMul_right
- Pi.isometricSMul'
- Pi.isometricSMul''
- Prod.isometricSMul'
- Prod.isometricSMul''
- ULift.isometricSMul
- ULift.isometricSMul'
- Units.isometricSMul
- UpperHalfPlane.instIsometricSMulSpecialLinearGroupFinOfNatNatInstOfNatNatInstDecidableEqFinFintypeRealCommRingUpperHalfPlaneToPseudoEMetricSpaceToEMetricSpaceInstMetricSpaceUpperHalfPlaneToSMulMonoidSLActionToAlgebraNormedFieldToSeminormedRingToSeminormedCommRingNormedCommRingToNormedAlgebraIsROrC
- instIsometricSMulForAllPseudoEMetricSpacePiInstSMul
- instIsometricSMulMulOppositeInstPseudoEMetricSpaceMulOppositeSmul
- instIsometricSMulProdPseudoEMetricSpaceMaxSmul
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) }
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) }
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) }
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) }
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) }
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) }
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) }
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) }
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) }
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) }
Negation x ↦ -x
as an IsometryEquiv
.
Inversion x ↦ x⁻¹
as an IsometryEquiv
.
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))