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.
TODO #
This file is huge; move material into separate files,
such as Mathlib/Analysis/Normed/Group/Lemmas.lean
.
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
the ℝ
-valued norm function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
the ℝ≥0
-valued norm function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A seminormed group is an additive group endowed with a norm for which dist x y = ‖x - y‖
defines a pseudometric space structure.
- norm : E → ℝ
- add : E → E → E
- zero : E
- nsmul : ℕ → E → E
- nsmul_zero : ∀ (x : E), AddMonoid.nsmul 0 x = 0
- nsmul_succ : ∀ (n : ℕ) (x : E), AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x
- neg : E → E
- sub : E → E → E
- zsmul : ℤ → E → E
- zsmul_zero' : ∀ (a : E), SubNegMonoid.zsmul 0 a = 0
- zsmul_succ' : ∀ (n : ℕ) (a : E), SubNegMonoid.zsmul (Int.ofNat (Nat.succ n)) a = SubNegMonoid.zsmul (Int.ofNat n) a + a
- zsmul_neg' : ∀ (n : ℕ) (a : E), SubNegMonoid.zsmul (Int.negSucc n) a = -SubNegMonoid.zsmul (↑(Nat.succ n)) a
- dist : E → E → ℝ
- edist : E → E → ENNReal
- edist_dist : ∀ (x y : E), PseudoMetricSpace.edist x y = ENNReal.ofReal (dist x y)
- toUniformSpace : UniformSpace 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
A seminormed group is a group endowed with a norm for which dist x y = ‖x / y‖
defines a
pseudometric space structure.
- norm : E → ℝ
- mul : E → E → E
- one : E
- npow : ℕ → E → E
- npow_zero : ∀ (x : E), Monoid.npow 0 x = 1
- npow_succ : ∀ (n : ℕ) (x : E), Monoid.npow (n + 1) x = Monoid.npow n x * x
- inv : E → E
- div : E → E → E
- zpow : ℤ → E → E
- zpow_zero' : ∀ (a : E), DivInvMonoid.zpow 0 a = 1
- zpow_succ' : ∀ (n : ℕ) (a : E), DivInvMonoid.zpow (Int.ofNat (Nat.succ n)) a = DivInvMonoid.zpow (Int.ofNat n) a * a
- zpow_neg' : ∀ (n : ℕ) (a : E), DivInvMonoid.zpow (Int.negSucc n) a = (DivInvMonoid.zpow (↑(Nat.succ n)) a)⁻¹
- dist : E → E → ℝ
- edist : E → E → ENNReal
- edist_dist : ∀ (x y : E), PseudoMetricSpace.edist x y = ENNReal.ofReal (dist x y)
- toUniformSpace : UniformSpace 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
A normed group is an additive group endowed with a norm for which dist x y = ‖x - y‖
defines a
metric space structure.
- norm : E → ℝ
- add : E → E → E
- zero : E
- nsmul : ℕ → E → E
- nsmul_zero : ∀ (x : E), AddMonoid.nsmul 0 x = 0
- nsmul_succ : ∀ (n : ℕ) (x : E), AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x
- neg : E → E
- sub : E → E → E
- zsmul : ℤ → E → E
- zsmul_zero' : ∀ (a : E), SubNegMonoid.zsmul 0 a = 0
- zsmul_succ' : ∀ (n : ℕ) (a : E), SubNegMonoid.zsmul (Int.ofNat (Nat.succ n)) a = SubNegMonoid.zsmul (Int.ofNat n) a + a
- zsmul_neg' : ∀ (n : ℕ) (a : E), SubNegMonoid.zsmul (Int.negSucc n) a = -SubNegMonoid.zsmul (↑(Nat.succ n)) a
- dist : E → E → ℝ
- edist : E → E → ENNReal
- edist_dist : ∀ (x y : E), PseudoMetricSpace.edist x y = ENNReal.ofReal (dist x y)
- toUniformSpace : UniformSpace 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
A normed group is a group endowed with a norm for which dist x y = ‖x / y‖
defines a metric
space structure.
- norm : E → ℝ
- mul : E → E → E
- one : E
- npow : ℕ → E → E
- npow_zero : ∀ (x : E), Monoid.npow 0 x = 1
- npow_succ : ∀ (n : ℕ) (x : E), Monoid.npow (n + 1) x = Monoid.npow n x * x
- inv : E → E
- div : E → E → E
- zpow : ℤ → E → E
- zpow_zero' : ∀ (a : E), DivInvMonoid.zpow 0 a = 1
- zpow_succ' : ∀ (n : ℕ) (a : E), DivInvMonoid.zpow (Int.ofNat (Nat.succ n)) a = DivInvMonoid.zpow (Int.ofNat n) a * a
- zpow_neg' : ∀ (n : ℕ) (a : E), DivInvMonoid.zpow (Int.negSucc n) a = (DivInvMonoid.zpow (↑(Nat.succ n)) a)⁻¹
- dist : E → E → ℝ
- edist : E → E → ENNReal
- edist_dist : ∀ (x y : E), PseudoMetricSpace.edist x y = ENNReal.ofReal (dist x y)
- toUniformSpace : UniformSpace 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
A seminormed group is an additive group endowed with a norm for which dist x y = ‖x - y‖
defines a pseudometric space structure.
- norm : E → ℝ
- add : E → E → E
- zero : E
- nsmul : ℕ → E → E
- nsmul_zero : ∀ (x : E), AddMonoid.nsmul 0 x = 0
- nsmul_succ : ∀ (n : ℕ) (x : E), AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x
- neg : E → E
- sub : E → E → E
- zsmul : ℤ → E → E
- zsmul_zero' : ∀ (a : E), SubNegMonoid.zsmul 0 a = 0
- zsmul_succ' : ∀ (n : ℕ) (a : E), SubNegMonoid.zsmul (Int.ofNat (Nat.succ n)) a = SubNegMonoid.zsmul (Int.ofNat n) a + a
- zsmul_neg' : ∀ (n : ℕ) (a : E), SubNegMonoid.zsmul (Int.negSucc n) a = -SubNegMonoid.zsmul (↑(Nat.succ n)) a
- dist : E → E → ℝ
- edist : E → E → ENNReal
- edist_dist : ∀ (x y : E), PseudoMetricSpace.edist x y = ENNReal.ofReal (dist x y)
- toUniformSpace : UniformSpace 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
A seminormed group is a group endowed with a norm for which dist x y = ‖x / y‖
defines a pseudometric space structure.
- norm : E → ℝ
- mul : E → E → E
- one : E
- npow : ℕ → E → E
- npow_zero : ∀ (x : E), Monoid.npow 0 x = 1
- npow_succ : ∀ (n : ℕ) (x : E), Monoid.npow (n + 1) x = Monoid.npow n x * x
- inv : E → E
- div : E → E → E
- zpow : ℤ → E → E
- zpow_zero' : ∀ (a : E), DivInvMonoid.zpow 0 a = 1
- zpow_succ' : ∀ (n : ℕ) (a : E), DivInvMonoid.zpow (Int.ofNat (Nat.succ n)) a = DivInvMonoid.zpow (Int.ofNat n) a * a
- zpow_neg' : ∀ (n : ℕ) (a : E), DivInvMonoid.zpow (Int.negSucc n) a = (DivInvMonoid.zpow (↑(Nat.succ n)) a)⁻¹
- dist : E → E → ℝ
- edist : E → E → ENNReal
- edist_dist : ∀ (x y : E), PseudoMetricSpace.edist x y = ENNReal.ofReal (dist x y)
- toUniformSpace : UniformSpace 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
A normed group is an additive group endowed with a norm for which dist x y = ‖x - y‖
defines a
metric space structure.
- norm : E → ℝ
- add : E → E → E
- zero : E
- nsmul : ℕ → E → E
- nsmul_zero : ∀ (x : E), AddMonoid.nsmul 0 x = 0
- nsmul_succ : ∀ (n : ℕ) (x : E), AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x
- neg : E → E
- sub : E → E → E
- zsmul : ℤ → E → E
- zsmul_zero' : ∀ (a : E), SubNegMonoid.zsmul 0 a = 0
- zsmul_succ' : ∀ (n : ℕ) (a : E), SubNegMonoid.zsmul (Int.ofNat (Nat.succ n)) a = SubNegMonoid.zsmul (Int.ofNat n) a + a
- zsmul_neg' : ∀ (n : ℕ) (a : E), SubNegMonoid.zsmul (Int.negSucc n) a = -SubNegMonoid.zsmul (↑(Nat.succ n)) a
- dist : E → E → ℝ
- edist : E → E → ENNReal
- edist_dist : ∀ (x y : E), PseudoMetricSpace.edist x y = ENNReal.ofReal (dist x y)
- toUniformSpace : UniformSpace 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
A normed group is a group endowed with a norm for which dist x y = ‖x / y‖
defines a metric
space structure.
- norm : E → ℝ
- mul : E → E → E
- one : E
- npow : ℕ → E → E
- npow_zero : ∀ (x : E), Monoid.npow 0 x = 1
- npow_succ : ∀ (n : ℕ) (x : E), Monoid.npow (n + 1) x = Monoid.npow n x * x
- inv : E → E
- div : E → E → E
- zpow : ℤ → E → E
- zpow_zero' : ∀ (a : E), DivInvMonoid.zpow 0 a = 1
- zpow_succ' : ∀ (n : ℕ) (a : E), DivInvMonoid.zpow (Int.ofNat (Nat.succ n)) a = DivInvMonoid.zpow (Int.ofNat n) a * a
- zpow_neg' : ∀ (n : ℕ) (a : E), DivInvMonoid.zpow (Int.negSucc n) a = (DivInvMonoid.zpow (↑(Nat.succ n)) a)⁻¹
- dist : E → E → ℝ
- edist : E → E → ENNReal
- edist_dist : ∀ (x y : E), PseudoMetricSpace.edist x y = ENNReal.ofReal (dist x y)
- toUniformSpace : UniformSpace 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
Equations
- NormedAddGroup.toSeminormedAddGroup = let __src := inst; SeminormedAddGroup.mk ⋯
Equations
- NormedGroup.toSeminormedGroup = let __src := inst; SeminormedGroup.mk ⋯
Equations
- NormedAddCommGroup.toSeminormedAddCommGroup = let __src := inst; SeminormedAddCommGroup.mk ⋯
Equations
- NormedCommGroup.toSeminormedCommGroup = let __src := inst; SeminormedCommGroup.mk ⋯
Equations
- SeminormedAddCommGroup.toSeminormedAddGroup = let __src := inst; SeminormedAddGroup.mk ⋯
Equations
- SeminormedCommGroup.toSeminormedGroup = let __src := inst; SeminormedGroup.mk ⋯
Equations
- NormedAddCommGroup.toNormedAddGroup = let __src := inst; NormedAddGroup.mk ⋯
Equations
- NormedCommGroup.toNormedGroup = let __src := inst; NormedGroup.mk ⋯
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
Instances For
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
Instances For
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
- NormedAddCommGroup.ofSeparation h = let __src := inst; let __src_1 := NormedAddGroup.ofSeparation h; NormedAddCommGroup.mk ⋯
Instances For
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
- NormedCommGroup.ofSeparation h = let __src := inst; let __src_1 := NormedGroup.ofSeparation h; NormedCommGroup.mk ⋯
Instances For
Construct a seminormed group from a translation-invariant pseudodistance.
Equations
- SeminormedAddCommGroup.ofAddDist h₁ h₂ = let __src := SeminormedAddGroup.ofAddDist h₁ h₂; SeminormedAddCommGroup.mk ⋯
Instances For
Construct a seminormed group from a multiplication-invariant pseudodistance.
Equations
- SeminormedCommGroup.ofMulDist h₁ h₂ = let __src := SeminormedGroup.ofMulDist h₁ h₂; SeminormedCommGroup.mk ⋯
Instances For
Construct a seminormed group from a translation-invariant pseudodistance.
Equations
- SeminormedAddCommGroup.ofAddDist' h₁ h₂ = let __src := SeminormedAddGroup.ofAddDist' h₁ h₂; SeminormedAddCommGroup.mk ⋯
Instances For
Construct a seminormed group from a multiplication-invariant pseudodistance.
Equations
- SeminormedCommGroup.ofMulDist' h₁ h₂ = let __src := SeminormedGroup.ofMulDist' h₁ h₂; SeminormedCommGroup.mk ⋯
Instances For
Construct a normed group from a translation-invariant distance.
Equations
- NormedAddGroup.ofAddDist h₁ h₂ = let __src := SeminormedAddGroup.ofAddDist h₁ h₂; NormedAddGroup.mk ⋯
Instances For
Construct a normed group from a multiplication-invariant distance.
Equations
- NormedGroup.ofMulDist h₁ h₂ = let __src := SeminormedGroup.ofMulDist h₁ h₂; NormedGroup.mk ⋯
Instances For
Construct a normed group from a translation-invariant pseudodistance.
Equations
- NormedAddGroup.ofAddDist' h₁ h₂ = let __src := SeminormedAddGroup.ofAddDist' h₁ h₂; NormedAddGroup.mk ⋯
Instances For
Construct a normed group from a multiplication-invariant pseudodistance.
Equations
- NormedGroup.ofMulDist' h₁ h₂ = let __src := SeminormedGroup.ofMulDist' h₁ h₂; NormedGroup.mk ⋯
Instances For
Construct a normed group from a translation-invariant pseudodistance.
Equations
- NormedAddCommGroup.ofAddDist h₁ h₂ = let __src := NormedAddGroup.ofAddDist h₁ h₂; NormedAddCommGroup.mk ⋯
Instances For
Construct a normed group from a multiplication-invariant pseudodistance.
Equations
- NormedCommGroup.ofMulDist h₁ h₂ = let __src := NormedGroup.ofMulDist h₁ h₂; NormedCommGroup.mk ⋯
Instances For
Construct a normed group from a translation-invariant pseudodistance.
Equations
- NormedAddCommGroup.ofAddDist' h₁ h₂ = let __src := NormedAddGroup.ofAddDist' h₁ h₂; NormedAddCommGroup.mk ⋯
Instances For
Construct a normed group from a multiplication-invariant pseudodistance.
Equations
- NormedCommGroup.ofMulDist' h₁ h₂ = let __src := NormedGroup.ofMulDist' h₁ h₂; NormedCommGroup.mk ⋯
Instances For
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
Instances For
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
Instances For
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
Instances For
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
- GroupSeminorm.toSeminormedCommGroup f = let __src := GroupSeminorm.toSeminormedGroup f; SeminormedCommGroup.mk ⋯
Instances For
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
- AddGroupNorm.toNormedAddGroup f = let __src := AddGroupSeminorm.toSeminormedAddGroup f.toAddGroupSeminorm; NormedAddGroup.mk ⋯
Instances For
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
- GroupNorm.toNormedGroup f = let __src := GroupSeminorm.toSeminormedGroup f.toGroupSeminorm; NormedGroup.mk ⋯
Instances For
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
- AddGroupNorm.toNormedAddCommGroup f = let __src := AddGroupNorm.toNormedAddGroup f; NormedAddCommGroup.mk ⋯
Instances For
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
- GroupNorm.toNormedCommGroup f = let __src := GroupNorm.toNormedGroup f; NormedCommGroup.mk ⋯
Instances For
Alias of dist_eq_norm_sub
.
Alias of dist_eq_norm_sub'
.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
In a (semi)normed group, negation x ↦ -x
tends to infinity at infinity.
In a (semi)normed group, inversion x ↦ x⁻¹
tends to infinity at infinity.
Extension for the positivity
tactic: multiplicative norms are nonnegative, via
norm_nonneg'
.
Instances For
Extension for the positivity
tactic: additive norms are nonnegative, via norm_nonneg
.
Instances For
Alias of norm_le_norm_add_norm_sub'
.
Alias of norm_le_norm_add_norm_sub
.
Alias of the forward direction of isBounded_iff_forall_norm_le'
.
Alias of the forward direction of isBounded_iff_forall_norm_le
.
The norm of a seminormed group as an additive group seminorm.
Equations
- normAddGroupSeminorm E = { toFun := norm, map_zero' := ⋯, add_le' := ⋯, neg' := ⋯ }
Instances For
The norm of a seminormed group as a group seminorm.
Equations
- normGroupSeminorm E = { toFun := norm, map_one' := ⋯, mul_le' := ⋯, inv' := ⋯ }
Instances For
A homomorphism f
of seminormed groups is Lipschitz, if there exists a constant
C
such that for all x
, one has ‖f x‖ ≤ C * ‖x‖
. The analogous condition for a linear map of
(semi)normed spaces is in Mathlib/Analysis/NormedSpace/OperatorNorm.lean
.
A homomorphism f
of seminormed groups is Lipschitz, if there exists a constant C
such that
for all x
, one has ‖f x‖ ≤ C * ‖x‖
. The analogous condition for a linear map of
(semi)normed spaces is in Mathlib/Analysis/NormedSpace/OperatorNorm.lean
.
Alias of the forward direction of lipschitzOnWith_iff_norm_div_le
.
Alias of the forward direction of lipschitzWith_iff_norm_div_le
.
A homomorphism f
of seminormed groups is continuous, if there exists a constant C
such that for all x
, one has ‖f x‖ ≤ C * ‖x‖
A homomorphism f
of seminormed groups is continuous, if there exists a constant C
such that
for all x
, one has ‖f x‖ ≤ C * ‖x‖
.
Alias of the reverse direction of MonoidHomClass.isometry_iff_norm
.
Alias of nndist_eq_nnnorm_sub
.
Alias of nnnorm_le_nnnorm_add_nnnorm_sub'
.
Alias of nnnorm_le_nnnorm_add_nnnorm_sub
.
Special case of the sandwich theorem: if the norm of f
is eventually bounded by a
real function a
which tends to 0
, then f
tends to 0
. In this pair of lemmas
(squeeze_zero_norm'
and squeeze_zero_norm
), following a convention of similar lemmas in
Topology.MetricSpace.PseudoMetric
and Topology.Algebra.Order
, the '
version is phrased using
"eventually" and the non-'
version is phrased absolutely.
Special case of the sandwich theorem: if the norm of f
is eventually bounded by a real
function a
which tends to 0
, then f
tends to 1
(neutral element of SeminormedGroup
).
In this pair of lemmas (squeeze_one_norm'
and squeeze_one_norm
), following a convention of
similar lemmas in Topology.MetricSpace.Basic
and Topology.Algebra.Order
, the '
version is
phrased using "eventually" and the non-'
version is phrased absolutely.
Special case of the sandwich theorem: if the norm of f
is bounded by a real
function a
which tends to 0
, then f
tends to 0
.
Special case of the sandwich theorem: if the norm of f
is bounded by a real function a
which
tends to 0
, then f
tends to 1
.
A helper lemma used to prove that the (scalar or usual) product of a function that
tends to zero and a bounded function tends to zero. This lemma is formulated for any binary
operation op : E → F → G
with an estimate ‖op x y‖ ≤ A * ‖x‖ * ‖y‖
for some constant A instead
of multiplication so that it can be applied to (*)
, flip (*)
, (•)
, and flip (•)
.
A helper lemma used to prove that the (scalar or usual) product of a function that tends to one
and a bounded function tends to one. This lemma is formulated for any binary operation
op : E → F → G
with an estimate ‖op x y‖ ≤ A * ‖x‖ * ‖y‖
for some constant A instead of
multiplication so that it can be applied to (*)
, flip (*)
, (•)
, and flip (•)
.
A helper lemma used to prove that the (scalar or usual) product of a function that
tends to zero and a bounded function tends to zero. This lemma is formulated for any binary
operation op : E → F → G
with an estimate ‖op x y‖ ≤ ‖x‖ * ‖y‖
instead of multiplication so
that it can be applied to (*)
, flip (*)
, (•)
, and flip (•)
.
A helper lemma used to prove that the (scalar or usual) product of a function that tends to one
and a bounded function tends to one. This lemma is formulated for any binary operation
op : E → F → G
with an estimate ‖op x y‖ ≤ ‖x‖ * ‖y‖
instead of multiplication so that it
can be applied to (*)
, flip (*)
, (•)
, and flip (•)
.
If ‖y‖→∞
, then we can assume y≠x
for any
fixed x
If ‖y‖ → ∞
, then we can assume y ≠ x
for any fixed x
.
A group homomorphism from an AddGroup
to a
SeminormedAddGroup
induces a SeminormedAddGroup
structure on the domain.
Equations
- SeminormedAddGroup.induced E F f = let __src := PseudoMetricSpace.induced (⇑f) SeminormedAddGroup.toPseudoMetricSpace; SeminormedAddGroup.mk ⋯
Instances For
A group homomorphism from a Group
to a SeminormedGroup
induces a SeminormedGroup
structure on the domain.
Equations
- SeminormedGroup.induced E F f = let __src := PseudoMetricSpace.induced (⇑f) SeminormedGroup.toPseudoMetricSpace; SeminormedGroup.mk ⋯
Instances For
A group homomorphism from an AddCommGroup
to a
SeminormedAddGroup
induces a SeminormedAddCommGroup
structure on the domain.
Equations
- SeminormedAddCommGroup.induced E F f = let __src := SeminormedAddGroup.induced E F f; SeminormedAddCommGroup.mk ⋯
Instances For
A group homomorphism from a CommGroup
to a SeminormedGroup
induces a
SeminormedCommGroup
structure on the domain.
Equations
- SeminormedCommGroup.induced E F f = let __src := SeminormedGroup.induced E F f; SeminormedCommGroup.mk ⋯
Instances For
An injective group homomorphism from an AddGroup
to a
NormedAddGroup
induces a NormedAddGroup
structure on the domain.
Equations
- NormedAddGroup.induced E F f h = let __src := SeminormedAddGroup.induced E F f; let __src_1 := MetricSpace.induced (⇑f) h NormedAddGroup.toMetricSpace; NormedAddGroup.mk ⋯
Instances For
An injective group homomorphism from a Group
to a NormedGroup
induces a NormedGroup
structure on the domain.
Equations
- NormedGroup.induced E F f h = let __src := SeminormedGroup.induced E F f; let __src_1 := MetricSpace.induced (⇑f) h NormedGroup.toMetricSpace; NormedGroup.mk ⋯
Instances For
An injective group homomorphism from a CommGroup
to a
NormedCommGroup
induces a NormedCommGroup
structure on the domain.
Equations
- NormedAddCommGroup.induced E F f h = let __src := SeminormedAddGroup.induced E F f; let __src_1 := MetricSpace.induced (⇑f) h NormedAddGroup.toMetricSpace; NormedAddCommGroup.mk ⋯
Instances For
An injective group homomorphism from a CommGroup
to a NormedGroup
induces a
NormedCommGroup
structure on the domain.
Equations
- NormedCommGroup.induced E F f h = let __src := SeminormedGroup.induced E F f; let __src_1 := MetricSpace.induced (⇑f) h NormedGroup.toMetricSpace; NormedCommGroup.mk ⋯
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
A seminormed group is a uniform additive group, i.e., addition and subtraction are uniformly continuous.
Equations
- ⋯ = ⋯
A seminormed group is a uniform group, i.e., multiplication and division are uniformly continuous.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Alias of the forward direction of norm_div_eq_zero_iff
.
The norm of a normed group as an additive group norm.
Equations
- normAddGroupNorm E = let __src := normAddGroupSeminorm E; { toAddGroupSeminorm := __src, eq_zero_of_map_eq_zero' := ⋯ }
Instances For
The norm of a normed group as a group norm.
Equations
- normGroupNorm E = let __src := normGroupSeminorm E; { toGroupSeminorm := __src, eq_one_of_map_eq_zero' := ⋯ }
Instances For
Some relations with HasCompactSupport
Alias of the reverse direction of hasCompactSupport_norm_iff
.
Equations
- ULift.norm = { norm := fun (x : ULift.{u_9, u_6} E) => ‖x.down‖ }
Equations
- ULift.nnnorm = { nnnorm := fun (x : ULift.{u_9, u_6} E) => ‖x.down‖₊ }
Equations
- ULift.seminormedAddGroup = SeminormedAddGroup.induced (ULift.{u_9, u_6} E) E { toZeroHom := { toFun := ULift.down, map_zero' := ⋯ }, map_add' := ⋯ }
Equations
- ULift.seminormedGroup = SeminormedGroup.induced (ULift.{u_9, u_6} E) E { toOneHom := { toFun := ULift.down, map_one' := ⋯ }, map_mul' := ⋯ }
Equations
- ULift.seminormedAddCommGroup = SeminormedAddCommGroup.induced (ULift.{u_9, u_6} E) E { toZeroHom := { toFun := ULift.down, map_zero' := ⋯ }, map_add' := ⋯ }
Equations
- ULift.seminormedCommGroup = SeminormedCommGroup.induced (ULift.{u_9, u_6} E) E { toOneHom := { toFun := ULift.down, map_one' := ⋯ }, map_mul' := ⋯ }
Equations
- ULift.normedAddGroup = NormedAddGroup.induced (ULift.{u_9, u_6} E) E { toZeroHom := { toFun := ULift.down, map_zero' := ⋯ }, map_add' := ⋯ } ⋯
Equations
- ULift.normedGroup = NormedGroup.induced (ULift.{u_9, u_6} E) E { toOneHom := { toFun := ULift.down, map_one' := ⋯ }, map_mul' := ⋯ } ⋯
Equations
- ULift.normedAddCommGroup = NormedAddCommGroup.induced (ULift.{u_9, u_6} E) E { toZeroHom := { toFun := ULift.down, map_zero' := ⋯ }, map_add' := ⋯ } ⋯
Equations
- ULift.normedCommGroup = NormedCommGroup.induced (ULift.{u_9, u_6} E) E { toOneHom := { toFun := ULift.down, map_one' := ⋯ }, map_mul' := ⋯ } ⋯
Equations
- Multiplicative.toNorm = inst
Equations
- Multiplicative.toNNNorm = inst
Equations
- Additive.seminormedAddGroup = SeminormedAddGroup.mk ⋯
Equations
- Multiplicative.seminormedGroup = SeminormedGroup.mk ⋯
Equations
- Additive.seminormedCommGroup = let __src := Additive.seminormedAddGroup; SeminormedAddCommGroup.mk ⋯
Equations
- Multiplicative.seminormedAddCommGroup = let __src := Multiplicative.seminormedGroup; SeminormedCommGroup.mk ⋯
Equations
- Additive.normedAddGroup = let __src := Additive.seminormedAddGroup; NormedAddGroup.mk ⋯
Equations
- Multiplicative.normedGroup = let __src := Multiplicative.seminormedGroup; NormedGroup.mk ⋯
Equations
- Additive.normedAddCommGroup = let __src := Additive.seminormedAddGroup; NormedAddCommGroup.mk ⋯
Equations
- Multiplicative.normedCommGroup = let __src := Multiplicative.seminormedGroup; NormedCommGroup.mk ⋯
Order dual #
Equations
- OrderDual.seminormedAddGroup = inst
Equations
- OrderDual.seminormedGroup = inst
Equations
- OrderDual.seminormedAddCommGroup = inst
Equations
- OrderDual.seminormedCommGroup = inst
Equations
- OrderDual.normedAddGroup = inst
Equations
- OrderDual.normedGroup = inst
Equations
- OrderDual.normedAddCommGroup = inst
Equations
- OrderDual.normedCommGroup = inst
Binary product of normed groups #
Product of seminormed groups, using the sup norm.
Equations
- Prod.seminormedAddGroup = SeminormedAddGroup.mk ⋯
Product of seminormed groups, using the sup norm.
Equations
- Prod.seminormedGroup = SeminormedGroup.mk ⋯
Product of seminormed groups, using the sup norm.
Equations
- Prod.seminormedAddCommGroup = let __src := Prod.seminormedAddGroup; SeminormedAddCommGroup.mk ⋯
Product of seminormed groups, using the sup norm.
Equations
- Prod.seminormedCommGroup = let __src := Prod.seminormedGroup; SeminormedCommGroup.mk ⋯
Product of normed groups, using the sup norm.
Equations
- Prod.normedAddGroup = let __src := Prod.seminormedAddGroup; NormedAddGroup.mk ⋯
Product of normed groups, using the sup norm.
Equations
- Prod.normedGroup = let __src := Prod.seminormedGroup; NormedGroup.mk ⋯
Product of normed groups, using the sup norm.
Equations
- Prod.normedAddCommGroup = let __src := Prod.seminormedAddGroup; NormedAddCommGroup.mk ⋯
Product of normed groups, using the sup norm.
Equations
- Prod.normedCommGroup = let __src := Prod.seminormedGroup; NormedCommGroup.mk ⋯
Finite product of normed groups #
Finite product of seminormed groups, using the sup norm.
Equations
- Pi.seminormedAddGroup = SeminormedAddGroup.mk ⋯
Finite product of seminormed groups, using the sup norm.
Equations
- Pi.seminormedGroup = SeminormedGroup.mk ⋯
The $L^1$ norm is less than the $L^\infty$ norm scaled by the cardinality.
The $L^1$ norm is less than the $L^\infty$ norm scaled by the cardinality.
The $L^1$ norm is less than the $L^\infty$ norm scaled by the cardinality.
The $L^1$ norm is less than the $L^\infty$ norm scaled by the cardinality.
Finite product of seminormed groups, using the sup norm.
Equations
- Pi.seminormedAddCommGroup = let __src := Pi.seminormedAddGroup; SeminormedAddCommGroup.mk ⋯
Finite product of seminormed groups, using the sup norm.
Equations
- Pi.seminormedCommGroup = let __src := Pi.seminormedGroup; SeminormedCommGroup.mk ⋯
Finite product of seminormed groups, using the sup norm.
Equations
- Pi.normedAddGroup = let __src := Pi.seminormedAddGroup; NormedAddGroup.mk ⋯
Finite product of normed groups, using the sup norm.
Equations
- Pi.normedGroup = let __src := Pi.seminormedGroup; NormedGroup.mk ⋯
Finite product of seminormed groups, using the sup norm.
Equations
- Pi.normedAddCommGroup = let __src := Pi.seminormedAddGroup; NormedAddCommGroup.mk ⋯
Finite product of normed groups, using the sup norm.
Equations
- Pi.normedCommGroup = let __src := Pi.seminormedGroup; NormedCommGroup.mk ⋯
Multiplicative opposite #
The (additive) norm on the multiplicative opposite is the same as the norm on the original type.
Note that we do not provide this more generally as Norm Eᵐᵒᵖ
, as this is not always a good
choice of norm in the multiplicative SeminormedGroup E
case.
We could repeat this instance to provide a [SeminormedGroup E] : SeminormedGroup Eᵃᵒᵖ
instance,
but that case would likely never be used.
Equations
- MulOpposite.seminormedAddGroup = SeminormedAddGroup.mk ⋯
Equations
- MulOpposite.normedAddGroup = let __src := MulOpposite.seminormedAddGroup; NormedAddGroup.mk ⋯
Equations
- MulOpposite.seminormedAddCommGroup = SeminormedAddCommGroup.mk ⋯
Equations
- MulOpposite.normedAddCommGroup = let __src := MulOpposite.seminormedAddCommGroup; NormedAddCommGroup.mk ⋯
Subgroups of normed groups #
A subgroup of a seminormed group is also a seminormed group, with the restriction of the norm.
Equations
- AddSubgroup.seminormedAddGroup = SeminormedAddGroup.induced (↥s) E (AddSubgroup.subtype s)
A subgroup of a seminormed group is also a seminormed group, with the restriction of the norm.
Equations
- Subgroup.seminormedGroup = SeminormedGroup.induced (↥s) E (Subgroup.subtype s)
If x
is an element of a subgroup s
of a seminormed group E
, its
norm in s
is equal to its norm in E
.
If x
is an element of a subgroup s
of a seminormed group E
, its norm in s
is equal to
its norm in E
.
If x
is an element of a subgroup s
of a seminormed group E
,
its norm in s
is equal to its norm in E
.
This is a reversed version of the simp
lemma AddSubgroup.coe_norm
for use by norm_cast
.
If x
is an element of a subgroup s
of a seminormed group E
, its norm in s
is equal to
its norm in E
.
This is a reversed version of the simp
lemma Subgroup.coe_norm
for use by norm_cast
.
Equations
- AddSubgroup.seminormedAddCommGroup = SeminormedAddCommGroup.induced (↥s) E (AddSubgroup.subtype s)
Equations
- Subgroup.seminormedCommGroup = SeminormedCommGroup.induced (↥s) E (Subgroup.subtype s)
Equations
- AddSubgroup.normedAddGroup = NormedAddGroup.induced (↥s) E (AddSubgroup.subtype s) ⋯
Equations
- Subgroup.normedGroup = NormedGroup.induced (↥s) E (Subgroup.subtype s) ⋯
Equations
- AddSubgroup.normedAddCommGroup = NormedAddCommGroup.induced (↥s) E (AddSubgroup.subtype s) ⋯
Equations
- Subgroup.normedCommGroup = NormedCommGroup.induced (↥s) E (Subgroup.subtype s) ⋯
Submodules of normed groups #
A submodule of a seminormed group is also a seminormed group, with the restriction of the norm.
Equations
If x
is an element of a submodule s
of a normed group E
, its norm in E
is equal to its
norm in s
.
This is a reversed version of the simp
lemma Submodule.coe_norm
for use by norm_cast
.
A submodule of a normed group is also a normed group, with the restriction of the norm.
Equations
- Submodule.normedAddCommGroup s = let __src := Submodule.seminormedAddCommGroup s; NormedAddCommGroup.mk ⋯