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
- ⋯ = ⋯
Alias of Real.norm_natCast.
Alias of Real.nnnorm_natCast.
Alias of Int.norm_natCast.
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.instSeminormedAddGroup = let __spread.0 := MulOpposite.instPseudoMetricSpace; SeminormedAddGroup.mk ⋯
Equations
- MulOpposite.instNormedAddGroup = let __spread.0 := MulOpposite.instMetricSpace; let __spread.1 := MulOpposite.instSeminormedAddGroup; NormedAddGroup.mk ⋯
Equations
- MulOpposite.instSeminormedAddCommGroup = SeminormedAddCommGroup.mk ⋯
Equations
- MulOpposite.instNormedAddCommGroup = let __spread.0 := MulOpposite.instSeminormedAddCommGroup; let __spread.1 := MulOpposite.instNormedAddGroup; 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 ⋯