Normed (semi)groups #
In this file we define 10 classes:
Norm
,NNNorm
: auxiliary classes endowing a typeα
with a functionnorm : α → ℝ
(notation:‖x‖
) andnnnorm : α → ℝ≥0
(notation:‖x‖₊
), respectively;Seminormed...Group
: A seminormed (additive) (commutative) group is an (additive) (commutative) group with a norm and a compatible pseudometric space structure:∀ x y, dist x y = ‖x / y‖
or∀ x y, dist x y = ‖x - y‖
, depending on the group operation.Normed...Group
: A normed (additive) (commutative) group is an (additive) (commutative) group with a norm and a compatible metric space structure.
We also prove basic properties of (semi)normed groups and provide some instances.
Notes #
The current convention dist x y = ‖x - y‖
means that the distance is invariant under right
addition, but actions in mathlib are usually from the left. This means we might want to change it to
dist x y = ‖-x + y‖
.
The normed group hierarchy would lend itself well to a mixin design (that is, having
SeminormedGroup
and SeminormedAddGroup
not extend Group
and AddGroup
), but we choose not
to for performance concerns.
Tags #
normed group
Auxiliary class, endowing a type E
with a function norm : E → ℝ
with notation ‖x‖
. This
class is designed to be extended in more interesting classes specifying the properties of the norm.
- norm : E → ℝ
the
ℝ
-valued norm function.
Instances
- Additive.toNorm
- BoundedContinuousFunction.instNorm
- Complex.instNorm
- ContinuousLinearMap.hasOpNorm
- ContinuousMap.instNorm
- ContinuousMapZero.instNorm
- ContinuousMultilinearMap.hasOpNorm
- ContinuousMultilinearMap.hasOpNorm'
- MeasureTheory.Lp.instNorm
- Multiplicative.toNorm
- NormedAddGroupHom.hasOpNorm
- OrderDual.toNorm
- PiLp.instNorm
- Prod.toNorm
- Real.norm
- SeparationQuotient.instMulNorm
- SeparationQuotient.instNorm
- ULift.norm
- UniformSpace.Completion.instNorm
- WithLp.instProdNorm
- normOnQuotient
the ℝ
-valued norm function.
Equations
- One or more equations did not get rendered due to their size.
the ℝ≥0
-valued norm function.
Equations
- One or more equations did not get rendered due to their size.
the ℝ≥0∞
-valued norm function.
Equations
- One or more equations did not get rendered due to their size.
Equations
- NNNorm.toENorm = { enorm := fun (x : E) => ↑‖x‖₊ }
A seminormed group is an additive group endowed with a norm for which dist x y = ‖x - y‖
defines a pseudometric space structure.
- add : E → E → E
- zero : E
- neg : E → E
- sub : E → E → E
- uniformity_dist : uniformity E = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : E × E | dist p.1 p.2 < ε}
- toBornology : Bornology E
The distance function is induced by the norm.
Instances
- AddSubgroup.seminormedAddGroup
- AddSubgroupClass.seminormedAddGroup
- Additive.seminormedAddGroup
- MulOpposite.instSeminormedAddGroup
- NormedAddGroup.toSeminormedAddGroup
- OrderDual.seminormedAddGroup
- Pi.seminormedAddGroup
- Prod.seminormedAddGroup
- SeminormedAddCommGroup.toSeminormedAddGroup
- ULift.seminormedAddGroup
A seminormed group is a group endowed with a norm for which dist x y = ‖x / y‖
defines a
pseudometric space structure.
- mul : E → E → E
- one : E
- inv : E → E
- div : E → E → E
- uniformity_dist : uniformity E = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : E × E | dist p.1 p.2 < ε}
- toBornology : Bornology E
The distance function is induced by the norm.
A normed group is an additive group endowed with a norm for which dist x y = ‖x - y‖
defines a
metric space structure.
- add : E → E → E
- zero : E
- neg : E → E
- sub : E → E → E
- uniformity_dist : uniformity E = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : E × E | dist p.1 p.2 < ε}
- toBornology : Bornology E
The distance function is induced by the norm.
A normed group is a group endowed with a norm for which dist x y = ‖x / y‖
defines a metric
space structure.
- mul : E → E → E
- one : E
- inv : E → E
- div : E → E → E
- uniformity_dist : uniformity E = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : E × E | dist p.1 p.2 < ε}
- toBornology : Bornology E
The distance function is induced by the norm.
A seminormed group is an additive group endowed with a norm for which dist x y = ‖x - y‖
defines a pseudometric space structure.
- add : E → E → E
- zero : E
- neg : E → E
- sub : E → E → E
- uniformity_dist : uniformity E = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : E × E | dist p.1 p.2 < ε}
- toBornology : Bornology E
The distance function is induced by the norm.
Instances
- AddSubgroup.seminormedAddCommGroup
- AddSubgroup.seminormedAddCommGroupQuotient
- AddSubgroupClass.seminormedAddCommGroup
- Additive.seminormedCommGroup
- BoundedContinuousFunction.instSeminormedAddCommGroup
- ContinuousLinearMap.toSeminormedAddCommGroup
- ContinuousMap.instSeminormedAddCommGroup
- ContinuousMultilinearMap.seminormedAddCommGroup
- ContinuousMultilinearMap.seminormedAddCommGroup'
- MulOpposite.instSeminormedAddCommGroup
- NonUnitalSeminormedRing.toSeminormedAddCommGroup
- NormedAddCommGroup.toSeminormedAddCommGroup
- NormedAddGroupHom.toSeminormedAddCommGroup
- NormedSpace.instSeminormedAddCommGroupDual
- OrderDual.seminormedAddCommGroup
- Pi.seminormedAddCommGroup
- PiLp.seminormedAddCommGroup
- Prod.seminormedAddCommGroup
- Submodule.Quotient.seminormedAddCommGroup
- Submodule.seminormedAddCommGroup
- ULift.seminormedAddCommGroup
- WithLp.instProdSeminormedAddCommGroup
- instSeminormedAddCommGroupRestrictScalars
A seminormed group is a group endowed with a norm for which dist x y = ‖x / y‖
defines a pseudometric space structure.
- mul : E → E → E
- one : E
- inv : E → E
- div : E → E → E
- uniformity_dist : uniformity E = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : E × E | dist p.1 p.2 < ε}
- toBornology : Bornology E
The distance function is induced by the norm.
A normed group is an additive group endowed with a norm for which dist x y = ‖x - y‖
defines a
metric space structure.
- add : E → E → E
- zero : E
- neg : E → E
- sub : E → E → E
- uniformity_dist : uniformity E = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : E × E | dist p.1 p.2 < ε}
- toBornology : Bornology E
The distance function is induced by the norm.
Instances
- AddCircle.instNormedAddCommGroupReal
- AddSubgroup.normedAddCommGroup
- AddSubgroup.normedAddCommGroupQuotient
- AddSubgroupClass.normedAddCommGroup
- Additive.normedAddCommGroup
- BoundedContinuousFunction.instNormedAddCommGroup
- Complex.instNormedAddCommGroup
- ContinuousLinearMap.toNormedAddCommGroup
- ContinuousMap.instNormedAddCommGroup
- ContinuousMultilinearMap.normedAddCommGroup
- ContinuousMultilinearMap.normedAddCommGroup'
- Int.instNormedAddCommGroup
- MeasureTheory.Lp.instNormedAddCommGroup
- MulOpposite.instNormedAddCommGroup
- NonUnitalNormedRing.toNormedAddCommGroup
- NormedAddGroupHom.toNormedAddCommGroup
- NormedOrderedAddGroup.toNormedAddCommGroup
- OrderDual.normedAddCommGroup
- PUnit.normedAddCommGroup
- Pi.normedAddCommGroup
- PiLp.normedAddCommGroup
- Prod.normedAddCommGroup
- Rat.instNormedAddCommGroup
- Real.Angle.instNormedAddCommGroup
- Real.normedAddCommGroup
- SeparationQuotient.instNormedAddCommGroup
- Submodule.Quotient.normedAddCommGroup
- Submodule.normedAddCommGroup
- ULift.normedAddCommGroup
- UniformSpace.Completion.instNormedAddCommGroup
- WithLp.instProdNormedAddCommGroup
- WithLp.instUnitizationNormedAddCommGroup
- instNormedAddCommGroupRestrictScalars
A normed group is a group endowed with a norm for which dist x y = ‖x / y‖
defines a metric
space structure.
- mul : E → E → E
- one : E
- inv : E → E
- div : E → E → E
- uniformity_dist : uniformity E = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : E × E | dist p.1 p.2 < ε}
- toBornology : Bornology E
The distance function is induced by the norm.
Equations
Equations
Construct a NormedGroup
from a SeminormedGroup
satisfying ∀ x, ‖x‖ = 0 → x = 1
. This
avoids having to go back to the (Pseudo)MetricSpace
level when declaring a NormedGroup
instance as a special case of a more general SeminormedGroup
instance.
Equations
Construct a NormedAddGroup
from a SeminormedAddGroup
satisfying ∀ x, ‖x‖ = 0 → x = 0
. This avoids having to go back to the (Pseudo)MetricSpace
level when declaring a NormedAddGroup
instance as a special case of a more general
SeminormedAddGroup
instance.
Equations
Construct a NormedCommGroup
from a SeminormedCommGroup
satisfying
∀ x, ‖x‖ = 0 → x = 1
. This avoids having to go back to the (Pseudo)MetricSpace
level when
declaring a NormedCommGroup
instance as a special case of a more general SeminormedCommGroup
instance.
Equations
Construct a NormedAddCommGroup
from a
SeminormedAddCommGroup
satisfying ∀ x, ‖x‖ = 0 → x = 0
. This avoids having to go back to the
(Pseudo)MetricSpace
level when declaring a NormedAddCommGroup
instance as a special case
of a more general SeminormedAddCommGroup
instance.
Equations
Construct a seminormed group from a translation-invariant pseudodistance.
Equations
Construct a seminormed group from a translation-invariant pseudodistance.
Equations
Construct a normed group from a multiplication-invariant distance.
Equations
- NormedGroup.ofMulDist h₁ h₂ = NormedGroup.mk ⋯
Construct a normed group from a multiplication-invariant pseudodistance.
Equations
- NormedGroup.ofMulDist' h₁ h₂ = NormedGroup.mk ⋯
Construct a normed group from a translation-invariant pseudodistance.
Equations
Construct a normed group from a translation-invariant pseudodistance.
Equations
Construct a seminormed group from a seminorm, i.e., registering the pseudodistance and the
pseudometric space structure from the seminorm properties. Note that in most cases this instance
creates bad definitional equalities (e.g., it does not take into account a possibly existing
UniformSpace
instance on E
).
Equations
Construct a seminormed group from a seminorm, i.e., registering the pseudodistance
and the pseudometric space structure from the seminorm properties. Note that in most cases this
instance creates bad definitional equalities (e.g., it does not take into account a possibly
existing UniformSpace
instance on E
).
Equations
Construct a seminormed group from a seminorm, i.e., registering the pseudodistance and the
pseudometric space structure from the seminorm properties. Note that in most cases this instance
creates bad definitional equalities (e.g., it does not take into account a possibly existing
UniformSpace
instance on E
).
Equations
Construct a seminormed group from a seminorm, i.e., registering the pseudodistance
and the pseudometric space structure from the seminorm properties. Note that in most cases this
instance creates bad definitional equalities (e.g., it does not take into account a possibly
existing UniformSpace
instance on E
).
Equations
Construct a normed group from a norm, i.e., registering the distance and the metric space
structure from the norm properties. Note that in most cases this instance creates bad definitional
equalities (e.g., it does not take into account a possibly existing UniformSpace
instance on
E
).
Equations
Construct a normed group from a norm, i.e., registering the distance and the metric
space structure from the norm properties. Note that in most cases this instance creates bad
definitional equalities (e.g., it does not take into account a possibly existing UniformSpace
instance on E
).
Equations
Construct a normed group from a norm, i.e., registering the distance and the metric space
structure from the norm properties. Note that in most cases this instance creates bad definitional
equalities (e.g., it does not take into account a possibly existing UniformSpace
instance on
E
).
Equations
Construct a normed group from a norm, i.e., registering the distance and the metric
space structure from the norm properties. Note that in most cases this instance creates bad
definitional equalities (e.g., it does not take into account a possibly existing UniformSpace
instance on E
).
Equations
Alias of dist_eq_norm_sub
.
Alias of dist_eq_norm_sub'
.
Alias of norm_le_norm_add_norm_sub'
.
Alias of norm_le_norm_add_norm_sub
.
An analogue of norm_le_mul_norm_add
for the multiplication from the left.
An analogue of norm_le_add_norm_add
for the addition from the left.
The norm of a seminormed group as a group seminorm.
Equations
- normGroupSeminorm E = { toFun := norm, map_one' := ⋯, mul_le' := ⋯, inv' := ⋯ }
The norm of a seminormed group as an additive group seminorm.
Equations
- normAddGroupSeminorm E = { toFun := norm, map_zero' := ⋯, add_le' := ⋯, neg' := ⋯ }
Equations
- SeminormedGroup.toNNNorm = { nnnorm := fun (a : E) => ⟨‖a‖, ⋯⟩ }
Equations
- SeminormedAddGroup.toNNNorm = { nnnorm := fun (a : E) => ⟨‖a‖, ⋯⟩ }
Alias of nndist_eq_nnnorm_sub
.
Alias of nnnorm_le_nnnorm_add_nnnorm_sub'
.
Alias of nnnorm_le_nnnorm_add_nnnorm_sub
.
An analogue of nnnorm_le_mul_nnnorm_add
for the multiplication from the left.
An analogue of nnnorm_le_add_nnnorm_add
for the addition from the left.
Alias of ofReal_norm_eq_enorm
.
Alias of ofReal_norm_eq_enorm'
.
Equations
- instENormENNReal = { enorm := fun (x : ENNReal) => x }
Alias of edist_eq_enorm_sub
.
Alias of edist_eq_enorm_div
.
Alias of edist_zero_eq_enorm
.
Alias of edist_one_eq_enorm
.
A group homomorphism from a Group
to a SeminormedGroup
induces a SeminormedGroup
structure on the domain.
Equations
A group homomorphism from an AddGroup
to a
SeminormedAddGroup
induces a SeminormedAddGroup
structure on the domain.
Equations
A group homomorphism from a CommGroup
to a SeminormedGroup
induces a
SeminormedCommGroup
structure on the domain.
Equations
A group homomorphism from an AddCommGroup
to a
SeminormedAddGroup
induces a SeminormedAddCommGroup
structure on the domain.
Equations
An injective group homomorphism from a Group
to a NormedGroup
induces a NormedGroup
structure on the domain.
Equations
- NormedGroup.induced E F f h = NormedGroup.mk ⋯
An injective group homomorphism from an AddGroup
to a
NormedAddGroup
induces a NormedAddGroup
structure on the domain.
Equations
- NormedAddGroup.induced E F f h = NormedAddGroup.mk ⋯
An injective group homomorphism from a CommGroup
to a NormedGroup
induces a
NormedCommGroup
structure on the domain.
Equations
- NormedCommGroup.induced E F f h = NormedCommGroup.mk ⋯
An injective group homomorphism from a CommGroup
to a
NormedCommGroup
induces a NormedCommGroup
structure on the domain.
Equations
- NormedAddCommGroup.induced E F f h = NormedAddCommGroup.mk ⋯
Alias of Real.enorm_eq_ofReal
.
Alias of Real.enorm_eq_ofReal_abs
.
Alias of Real.ofReal_le_enorm
.
Equations
- NNReal.instNNNorm = { nnnorm := fun (x : NNReal) => x }
Alias of norm_le_zero_iff'
.
Alias of norm_le_zero_iff'
.
Alias of norm_pos_iff'
.
Alias of norm_eq_zero'
.
Alias of norm_eq_zero'
.
Alias of the forward direction of norm_div_eq_zero_iff
.
The norm of a normed group as a group norm.
Equations
- normGroupNorm E = { toGroupSeminorm := normGroupSeminorm E, eq_one_of_map_eq_zero' := ⋯ }
The norm of a normed group as an additive group norm.
Equations
- normAddGroupNorm E = { toAddGroupSeminorm := normAddGroupSeminorm E, eq_zero_of_map_eq_zero' := ⋯ }
Some relations with HasCompactSupport
Alias of the reverse direction of hasCompactSupport_norm_iff
.
positivity
extensions #
Extension for the positivity
tactic: multiplicative norms are always nonnegative, and positive
on non-one inputs.
Extension for the positivity
tactic: additive norms are always nonnegative, and positive
on non-zero inputs.