Documentation

Mathlib.Analysis.Normed.Group.Basic

(Semi)normed groups: basic theory #

We prove basic properties of (semi)normed groups.

Tags #

normed group

theorem dist_eq_norm_div {E : Type u_5} [SeminormedGroup E] (a b : E) :
dist a b = a / b
theorem dist_eq_norm_sub {E : Type u_5} [SeminormedAddGroup E] (a b : E) :
dist a b = a - b
theorem dist_eq_norm_div' {E : Type u_5} [SeminormedGroup E] (a b : E) :
dist a b = b / a
theorem dist_eq_norm_sub' {E : Type u_5} [SeminormedAddGroup E] (a b : E) :
dist a b = b - a
theorem dist_eq_norm {E : Type u_5} [SeminormedAddGroup E] (a b : E) :
dist a b = a - b

Alias of dist_eq_norm_sub.

theorem dist_eq_norm' {E : Type u_5} [SeminormedAddGroup E] (a b : E) :
dist a b = b - a

Alias of dist_eq_norm_sub'.

theorem DiscreteTopology.of_forall_le_norm' {E : Type u_5} [SeminormedGroup E] {r : } (hpos : 0 < r) (hr : ∀ (x : E), x 1r x) :
theorem DiscreteTopology.of_forall_le_norm {E : Type u_5} [SeminormedAddGroup E] {r : } (hpos : 0 < r) (hr : ∀ (x : E), x 0r x) :
@[simp]
theorem dist_one_right {E : Type u_5} [SeminormedGroup E] (a : E) :
@[simp]
theorem dist_zero_right {E : Type u_5} [SeminormedAddGroup E] (a : E) :
theorem dist_one_left {E : Type u_5} [SeminormedGroup E] (a : E) :
@[simp]
theorem dist_one {E : Type u_5} [SeminormedGroup E] :
@[simp]
theorem dist_zero {E : Type u_5} [SeminormedAddGroup E] :
theorem norm_div_rev {E : Type u_5} [SeminormedGroup E] (a b : E) :
a / b = b / a
theorem norm_sub_rev {E : Type u_5} [SeminormedAddGroup E] (a b : E) :
a - b = b - a
@[simp]
theorem norm_inv' {E : Type u_5} [SeminormedGroup E] (a : E) :
@[simp]
theorem norm_neg {E : Type u_5} [SeminormedAddGroup E] (a : E) :
@[simp]
theorem norm_zpow_abs {E : Type u_5} [SeminormedGroup E] (a : E) (n : ) :
@[simp]
theorem norm_abs_zsmul {E : Type u_5} [SeminormedAddGroup E] (a : E) (n : ) :
@[simp]
theorem norm_pow_natAbs {E : Type u_5} [SeminormedGroup E] (a : E) (n : ) :
@[simp]
theorem norm_natAbs_smul {E : Type u_5} [SeminormedAddGroup E] (a : E) (n : ) :
theorem norm_zpow_isUnit {E : Type u_5} [SeminormedGroup E] (a : E) {n : } (hn : IsUnit n) :
theorem norm_isUnit_zsmul {E : Type u_5} [SeminormedAddGroup E] (a : E) {n : } (hn : IsUnit n) :
@[simp]
theorem norm_units_zsmul {E : Type u_8} [SeminormedAddGroup E] (n : ˣ) (a : E) :
theorem dist_mulIndicator {α : Type u_2} {E : Type u_5} [SeminormedGroup E] (s t : Set α) (f : αE) (x : α) :
theorem dist_indicator {α : Type u_2} {E : Type u_5} [SeminormedAddGroup E] (s t : Set α) (f : αE) (x : α) :
dist (s.indicator f x) (t.indicator f x) = (symmDiff s t).indicator f x
theorem norm_mul_le' {E : Type u_5} [SeminormedGroup E] (a b : E) :

Triangle inequality for the norm.

theorem norm_add_le {E : Type u_5} [SeminormedAddGroup E] (a b : E) :

Triangle inequality for the norm.

theorem norm_mul_le_of_le' {E : Type u_5} [SeminormedGroup E] {a₁ a₂ : E} {r₁ r₂ : } (h₁ : a₁ r₁) (h₂ : a₂ r₂) :
a₁ * a₂ r₁ + r₂

Triangle inequality for the norm.

theorem norm_add_le_of_le {E : Type u_5} [SeminormedAddGroup E] {a₁ a₂ : E} {r₁ r₂ : } (h₁ : a₁ r₁) (h₂ : a₂ r₂) :
a₁ + a₂ r₁ + r₂

Triangle inequality for the norm.

theorem norm_mul₃_le' {E : Type u_5} [SeminormedGroup E] {a b c : E} :

Triangle inequality for the norm.

theorem norm_add₃_le {E : Type u_5} [SeminormedAddGroup E] {a b c : E} :

Triangle inequality for the norm.

theorem norm_mul₄_le' {E : Type u_5} [SeminormedGroup E] {a b c d : E} :

Triangle inequality for the norm.

theorem norm_add₄_le {E : Type u_5} [SeminormedAddGroup E] {a b c d : E} :

Triangle inequality for the norm.

@[simp]
theorem norm_nonneg' {E : Type u_5} [SeminormedGroup E] (a : E) :
@[simp]
theorem norm_nonneg {E : Type u_5} [SeminormedAddGroup E] (a : E) :
@[simp]
theorem abs_norm' {E : Type u_5} [SeminormedGroup E] (z : E) :
@[simp]
theorem abs_norm {E : Type u_5} [SeminormedAddGroup E] (z : E) :
@[simp]
theorem norm_one' {E : Type u_5} [SeminormedGroup E] :
@[simp]
theorem norm_zero {E : Type u_5} [SeminormedAddGroup E] :
theorem ne_one_of_norm_ne_zero {E : Type u_5} [SeminormedGroup E] {a : E} :
a 0a 1
theorem ne_zero_of_norm_ne_zero {E : Type u_5} [SeminormedAddGroup E] {a : E} :
a 0a 0
theorem norm_div_le {E : Type u_5} [SeminormedGroup E] (a b : E) :
theorem norm_div_le_of_le {E : Type u_5} [SeminormedGroup E] {a₁ a₂ : E} {r₁ r₂ : } (H₁ : a₁ r₁) (H₂ : a₂ r₂) :
a₁ / a₂ r₁ + r₂
theorem norm_sub_le_of_le {E : Type u_5} [SeminormedAddGroup E] {a₁ a₂ : E} {r₁ r₂ : } (H₁ : a₁ r₁) (H₂ : a₂ r₂) :
a₁ - a₂ r₁ + r₂
theorem norm_le_mul_norm_add' {E : Type u_5} [SeminormedGroup E] (u v : E) :

An analogue of norm_le_mul_norm_add for the multiplication from the left.

theorem norm_le_add_norm_add' {E : Type u_5} [SeminormedAddGroup E] (u v : E) :

An analogue of norm_le_add_norm_add for the addition from the left.

theorem norm_mul_eq_norm_right {E : Type u_5} [SeminormedGroup E] {x : E} (y : E) (h : x = 0) :
theorem norm_add_eq_norm_right {E : Type u_5} [SeminormedAddGroup E] {x : E} (y : E) (h : x = 0) :
theorem norm_mul_eq_norm_left {E : Type u_5} [SeminormedGroup E] (x : E) {y : E} (h : y = 0) :
theorem norm_add_eq_norm_left {E : Type u_5} [SeminormedAddGroup E] (x : E) {y : E} (h : y = 0) :
theorem norm_div_eq_norm_right {E : Type u_5} [SeminormedGroup E] {x : E} (y : E) (h : x = 0) :
theorem norm_sub_eq_norm_right {E : Type u_5} [SeminormedAddGroup E] {x : E} (y : E) (h : x = 0) :
theorem norm_div_eq_norm_left {E : Type u_5} [SeminormedGroup E] (x : E) {y : E} (h : y = 0) :
theorem norm_sub_eq_norm_left {E : Type u_5} [SeminormedAddGroup E] (x : E) {y : E} (h : y = 0) :
theorem ball_eq' {E : Type u_5} [SeminormedGroup E] (y : E) (ε : ) :
Metric.ball y ε = {x : E | x / y < ε}
theorem ball_eq {E : Type u_5} [SeminormedAddGroup E] (y : E) (ε : ) :
Metric.ball y ε = {x : E | x - y < ε}
theorem ball_one_eq {E : Type u_5} [SeminormedGroup E] (r : ) :
Metric.ball 1 r = {x : E | x < r}
theorem mem_ball_iff_norm'' {E : Type u_5} [SeminormedGroup E] {a b : E} {r : } :
theorem mem_ball_iff_norm {E : Type u_5} [SeminormedAddGroup E] {a b : E} {r : } :
theorem mem_ball_iff_norm''' {E : Type u_5} [SeminormedGroup E] {a b : E} {r : } :
theorem mem_ball_iff_norm' {E : Type u_5} [SeminormedAddGroup E] {a b : E} {r : } :
theorem mem_ball_one_iff {E : Type u_5} [SeminormedGroup E] {a : E} {r : } :
theorem norm_lt_of_mem_ball' {E : Type u_5} [SeminormedGroup E] {a b : E} {r : } (h : b Metric.ball a r) :
theorem norm_lt_of_mem_ball {E : Type u_5} [SeminormedAddGroup E] {a b : E} {r : } (h : b Metric.ball a r) :
@[simp]
theorem mem_sphere_iff_norm' {E : Type u_5} [SeminormedGroup E] {a b : E} {r : } :
@[simp]
theorem mem_sphere_iff_norm {E : Type u_5} [SeminormedAddGroup E] {a b : E} {r : } :
@[simp]
theorem norm_eq_of_mem_sphere' {E : Type u_5} [SeminormedGroup E] {r : } (x : (Metric.sphere 1 r)) :
x = r
@[simp]
theorem norm_eq_of_mem_sphere {E : Type u_5} [SeminormedAddGroup E] {r : } (x : (Metric.sphere 0 r)) :
x = r
theorem ne_one_of_mem_sphere {E : Type u_5} [SeminormedGroup E] {r : } (hr : r 0) (x : (Metric.sphere 1 r)) :
x 1
theorem ne_zero_of_mem_sphere {E : Type u_5} [SeminormedAddGroup E] {r : } (hr : r 0) (x : (Metric.sphere 0 r)) :
x 0
theorem ne_one_of_mem_unit_sphere {E : Type u_5} [SeminormedGroup E] (x : (Metric.sphere 1 1)) :
x 1
theorem ne_zero_of_mem_unit_sphere {E : Type u_5} [SeminormedAddGroup E] (x : (Metric.sphere 0 1)) :
x 0

The norm of a seminormed group as a group seminorm.

Equations
    Instances For

      The norm of a seminormed group as an additive group seminorm.

      Equations
        Instances For
          theorem NormedCommGroup.tendsto_nhds_one {α : Type u_2} {E : Type u_5} [SeminormedGroup E] {f : αE} {l : Filter α} :
          Filter.Tendsto f l (nhds 1) ε > 0, ∀ᶠ (x : α) in l, f x < ε
          theorem NormedAddCommGroup.tendsto_nhds_zero {α : Type u_2} {E : Type u_5} [SeminormedAddGroup E] {f : αE} {l : Filter α} :
          Filter.Tendsto f l (nhds 0) ε > 0, ∀ᶠ (x : α) in l, f x < ε
          theorem NormedCommGroup.tendsto_nhds_nhds {E : Type u_5} {F : Type u_6} [SeminormedGroup E] [SeminormedGroup F] {f : EF} {x : E} {y : F} :
          Filter.Tendsto f (nhds x) (nhds y) ε > 0, δ > 0, ∀ (x' : E), x' / x < δf x' / y < ε
          theorem NormedAddCommGroup.tendsto_nhds_nhds {E : Type u_5} {F : Type u_6} [SeminormedAddGroup E] [SeminormedAddGroup F] {f : EF} {x : E} {y : F} :
          Filter.Tendsto f (nhds x) (nhds y) ε > 0, δ > 0, ∀ (x' : E), x' - x < δf x' - y < ε
          theorem NormedCommGroup.nhds_basis_norm_lt {E : Type u_5} [SeminormedGroup E] (x : E) :
          (nhds x).HasBasis (fun (ε : ) => 0 < ε) fun (ε : ) => {y : E | y / x < ε}
          theorem NormedAddCommGroup.nhds_basis_norm_lt {E : Type u_5} [SeminormedAddGroup E] (x : E) :
          (nhds x).HasBasis (fun (ε : ) => 0 < ε) fun (ε : ) => {y : E | y - x < ε}
          theorem NormedCommGroup.nhds_one_basis_norm_lt {E : Type u_5} [SeminormedGroup E] :
          (nhds 1).HasBasis (fun (ε : ) => 0 < ε) fun (ε : ) => {y : E | y < ε}
          theorem NormedAddCommGroup.nhds_zero_basis_norm_lt {E : Type u_5} [SeminormedAddGroup E] :
          (nhds 0).HasBasis (fun (ε : ) => 0 < ε) fun (ε : ) => {y : E | y < ε}
          theorem NormedCommGroup.uniformity_basis_dist {E : Type u_5} [SeminormedGroup E] :
          (uniformity E).HasBasis (fun (ε : ) => 0 < ε) fun (ε : ) => {p : E × E | p.1 / p.2 < ε}
          theorem NormedAddCommGroup.uniformity_basis_dist {E : Type u_5} [SeminormedAddGroup E] :
          (uniformity E).HasBasis (fun (ε : ) => 0 < ε) fun (ε : ) => {p : E × E | p.1 - p.2 < ε}
          @[instance 100]
          Equations
            @[instance 100]
            Equations
              @[simp]
              theorem coe_nnnorm' {E : Type u_5} [SeminormedGroup E] (a : E) :
              @[simp]
              theorem coe_nnnorm {E : Type u_5} [SeminormedAddGroup E] (a : E) :
              @[simp]
              theorem toReal_enorm' {E : Type u_5} [SeminormedGroup E] (x : E) :
              @[simp]
              theorem nndist_one_right {E : Type u_5} [SeminormedGroup E] (a : E) :
              @[simp]
              theorem nndist_zero_right {E : Type u_5} [SeminormedAddGroup E] (a : E) :
              @[simp]
              theorem edist_one_right {E : Type u_5} [SeminormedGroup E] (a : E) :
              @[simp]
              theorem edist_zero_right {E : Type u_5} [SeminormedAddGroup E] (a : E) :
              @[simp]
              theorem nnnorm_one' {E : Type u_5} [SeminormedGroup E] :
              theorem ne_one_of_nnnorm_ne_zero {E : Type u_5} [SeminormedGroup E] {a : E} :
              a‖₊ 0a 1
              theorem ne_zero_of_nnnorm_ne_zero {E : Type u_5} [SeminormedAddGroup E] {a : E} :
              a‖₊ 0a 0
              theorem norm_pow_le_mul_norm {E : Type u_5} [SeminormedGroup E] {a : E} {n : } :
              a ^ n n * a
              theorem norm_nsmul_le {E : Type u_5} [SeminormedAddGroup E] {a : E} {n : } :
              n a n * a
              theorem nnnorm_nsmul_le {E : Type u_5} [SeminormedAddGroup E] {a : E} {n : } :
              @[simp]
              theorem nnnorm_neg {E : Type u_5} [SeminormedAddGroup E] (a : E) :
              @[simp]
              theorem nnnorm_zpow_abs {E : Type u_5} [SeminormedGroup E] (a : E) (n : ) :
              @[simp]
              theorem nnnorm_abs_zsmul {E : Type u_5} [SeminormedAddGroup E] (a : E) (n : ) :
              @[simp]
              theorem nnnorm_pow_natAbs {E : Type u_5} [SeminormedGroup E] (a : E) (n : ) :
              @[simp]
              theorem nnnorm_natAbs_smul {E : Type u_5} [SeminormedAddGroup E] (a : E) (n : ) :
              theorem nnnorm_zpow_isUnit {E : Type u_5} [SeminormedGroup E] (a : E) {n : } (hn : IsUnit n) :
              @[simp]
              theorem nnnorm_units_zsmul {E : Type u_8} [SeminormedAddGroup E] (n : ˣ) (a : E) :
              @[simp]
              theorem nndist_one_left {E : Type u_5} [SeminormedGroup E] (a : E) :
              @[simp]
              theorem nndist_zero_left {E : Type u_5} [SeminormedAddGroup E] (a : E) :
              @[simp]
              theorem edist_one_left {E : Type u_5} [SeminormedGroup E] (a : E) :
              edist 1 a = a‖₊
              @[simp]
              theorem edist_zero_left {E : Type u_5} [SeminormedAddGroup E] (a : E) :
              edist 0 a = a‖₊
              theorem nndist_mulIndicator {α : Type u_2} {E : Type u_5} [SeminormedGroup E] (s t : Set α) (f : αE) (x : α) :
              theorem nndist_indicator {α : Type u_2} {E : Type u_5} [SeminormedAddGroup E] (s t : Set α) (f : αE) (x : α) :

              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.

              theorem nnnorm_mul_eq_nnnorm_left {E : Type u_5} [SeminormedGroup E] (x : E) {y : E} (h : y‖₊ = 0) :
              theorem nnnorm_div_eq_nnnorm_left {E : Type u_5} [SeminormedGroup E] (x : E) {y : E} (h : y‖₊ = 0) :
              theorem toReal_coe_nnnorm' {E : Type u_5} [SeminormedGroup E] (a : E) :

              The nonnegative norm seen as an ENNReal and then as a Real is equal to the norm.

              theorem toReal_coe_nnnorm {E : Type u_5} [SeminormedAddGroup E] (a : E) :

              The nonnegative norm seen as an ENNReal and then as a Real is equal to the norm.

              theorem edist_mulIndicator {α : Type u_2} {E : Type u_5} [SeminormedGroup E] (s t : Set α) (f : αE) (x : α) :
              theorem edist_indicator {α : Type u_2} {E : Type u_5} [SeminormedAddGroup E] (s t : Set α) (f : αE) (x : α) :
              edist (s.indicator f x) (t.indicator f x) = (symmDiff s t).indicator f x‖₊
              theorem exists_norm_ne_zero' (E : Type u_5) [SeminormedGroup E] [NontrivialTopology E] :
              ∃ (x : E), x 0
              theorem exists_enorm_lt' (E : Type u_8) [TopologicalSpace E] [ESeminormedMonoid E] [hbot : (nhdsWithin 1 {1}).NeBot] {c : ENNReal} (hc : c 0) :
              ∃ (x : E), x 1 x‖ₑ < c
              theorem exists_enorm_lt (E : Type u_8) [TopologicalSpace E] [ESeminormedAddMonoid E] [hbot : (nhdsWithin 0 {0}).NeBot] {c : ENNReal} (hc : c 0) :
              ∃ (x : E), x 0 x‖ₑ < c
              @[simp]
              theorem enorm_inv' {E : Type u_5} [SeminormedGroup E] (a : E) :
              @[simp]
              theorem enorm_neg {E : Type u_5} [SeminormedAddGroup E] (a : E) :
              theorem edist_eq_enorm_div {E : Type u_5} [SeminormedGroup E] (a b : E) :
              @[deprecated edist_one_right (since := "2026-02-11")]
              theorem edist_one_eq_enorm {E : Type u_5} [SeminormedGroup E] (a : E) :

              Alias of edist_one_right.

              @[deprecated edist_zero_right (since := "2026-02-11")]
              theorem edist_zero_eq_enorm {E : Type u_5} [SeminormedAddGroup E] (a : E) :

              Alias of edist_zero_right.

              theorem enorm_div_rev {E : Type u_8} [SeminormedGroup E] (a b : E) :
              @[deprecated mem_eball_zero_iff (since := "2026-01-24")]

              Alias of mem_eball_zero_iff.

              @[deprecated mem_eball_one_iff (since := "2026-01-24")]
              theorem mem_emetric_ball_one_iff {E : Type u_5} [SeminormedGroup E] {a : E} {r : ENNReal} :

              Alias of mem_eball_one_iff.

              theorem enorm_mul_le_of_le' {E : Type u_8} [TopologicalSpace E] [ESeminormedMonoid E] {r₁ r₂ : ENNReal} {a₁ a₂ : E} (h₁ : a₁‖ₑ r₁) (h₂ : a₂‖ₑ r₂) :
              a₁ * a₂‖ₑ r₁ + r₂
              theorem enorm_add_le_of_le {E : Type u_8} [TopologicalSpace E] [ESeminormedAddMonoid E] {r₁ r₂ : ENNReal} {a₁ a₂ : E} (h₁ : a₁‖ₑ r₁) (h₂ : a₂‖ₑ r₂) :
              a₁ + a₂‖ₑ r₁ + r₂
              @[simp]
              theorem enorm_eq_zero' {E : Type u_8} [TopologicalSpace E] [ENormedMonoid E] {a : E} :
              a‖ₑ = 0 a = 1
              @[simp]
              theorem enorm_eq_zero {E : Type u_8} [TopologicalSpace E] [ENormedAddMonoid E] {a : E} :
              a‖ₑ = 0 a = 0
              theorem enorm_ne_zero' {E : Type u_8} [TopologicalSpace E] [ENormedMonoid E] {a : E} :
              theorem enorm_ne_zero {E : Type u_8} [TopologicalSpace E] [ENormedAddMonoid E] {a : E} :
              @[simp]
              theorem enorm_pos' {E : Type u_8} [TopologicalSpace E] [ENormedMonoid E] {a : E} :
              @[simp]
              theorem enorm_pos {E : Type u_8} [TopologicalSpace E] [ENormedAddMonoid E] {a : E} :
              theorem SeminormedGroup.disjoint_nhds {E : Type u_5} [SeminormedGroup E] (x : E) (f : Filter E) :
              Disjoint (nhds x) f δ > 0, ∀ᶠ (y : E) in f, δ y / x
              theorem SeminormedAddGroup.disjoint_nhds {E : Type u_5} [SeminormedAddGroup E] (x : E) (f : Filter E) :
              Disjoint (nhds x) f δ > 0, ∀ᶠ (y : E) in f, δ y - x
              theorem SeminormedGroup.disjoint_nhds_one {E : Type u_5} [SeminormedGroup E] (f : Filter E) :
              Disjoint (nhds 1) f δ > 0, ∀ᶠ (y : E) in f, δ y
              @[reducible, inline]
              abbrev SeminormedGroup.induced {𝓕 : Type u_1} (E : Type u_5) (F : Type u_6) [FunLike 𝓕 E F] [Group E] [SeminormedGroup F] [MonoidHomClass 𝓕 E F] (f : 𝓕) :

              A group homomorphism from a Group to a SeminormedGroup induces a SeminormedGroup structure on the domain.

              Equations
                Instances For
                  @[reducible, inline]
                  abbrev SeminormedAddGroup.induced {𝓕 : Type u_1} (E : Type u_5) (F : Type u_6) [FunLike 𝓕 E F] [AddGroup E] [SeminormedAddGroup F] [AddMonoidHomClass 𝓕 E F] (f : 𝓕) :

                  A group homomorphism from an AddGroup to a SeminormedAddGroup induces a SeminormedAddGroup structure on the domain.

                  Equations
                    Instances For
                      @[reducible, inline]
                      abbrev SeminormedCommGroup.induced {𝓕 : Type u_1} (E : Type u_5) (F : Type u_6) [FunLike 𝓕 E F] [CommGroup E] [SeminormedGroup F] [MonoidHomClass 𝓕 E F] (f : 𝓕) :

                      A group homomorphism from a CommGroup to a SeminormedGroup induces a SeminormedCommGroup structure on the domain.

                      Equations
                        Instances For
                          @[reducible, inline]
                          abbrev SeminormedAddCommGroup.induced {𝓕 : Type u_1} (E : Type u_5) (F : Type u_6) [FunLike 𝓕 E F] [AddCommGroup E] [SeminormedAddGroup F] [AddMonoidHomClass 𝓕 E F] (f : 𝓕) :

                          A group homomorphism from an AddCommGroup to a SeminormedAddGroup induces a SeminormedAddCommGroup structure on the domain.

                          Equations
                            Instances For
                              @[reducible, inline]
                              abbrev NormedGroup.induced {𝓕 : Type u_1} (E : Type u_5) (F : Type u_6) [FunLike 𝓕 E F] [Group E] [NormedGroup F] [MonoidHomClass 𝓕 E F] (f : 𝓕) (h : Function.Injective f) :

                              An injective group homomorphism from a Group to a NormedGroup induces a NormedGroup structure on the domain.

                              Equations
                                Instances For
                                  @[reducible, inline]
                                  abbrev NormedAddGroup.induced {𝓕 : Type u_1} (E : Type u_5) (F : Type u_6) [FunLike 𝓕 E F] [AddGroup E] [NormedAddGroup F] [AddMonoidHomClass 𝓕 E F] (f : 𝓕) (h : Function.Injective f) :

                                  An injective group homomorphism from an AddGroup to a NormedAddGroup induces a NormedAddGroup structure on the domain.

                                  Equations
                                    Instances For
                                      @[reducible, inline]
                                      abbrev NormedCommGroup.induced {𝓕 : Type u_1} (E : Type u_5) (F : Type u_6) [FunLike 𝓕 E F] [CommGroup E] [NormedGroup F] [MonoidHomClass 𝓕 E F] (f : 𝓕) (h : Function.Injective f) :

                                      An injective group homomorphism from a CommGroup to a NormedGroup induces a NormedCommGroup structure on the domain.

                                      Equations
                                        Instances For
                                          @[reducible, inline]
                                          abbrev NormedAddCommGroup.induced {𝓕 : Type u_1} (E : Type u_5) (F : Type u_6) [FunLike 𝓕 E F] [AddCommGroup E] [NormedAddGroup F] [AddMonoidHomClass 𝓕 E F] (f : 𝓕) (h : Function.Injective f) :

                                          An injective group homomorphism from a CommGroup to a NormedCommGroup induces a NormedCommGroup structure on the domain.

                                          Equations
                                            Instances For
                                              theorem dist_inv {E : Type u_5} [SeminormedCommGroup E] (x y : E) :
                                              theorem dist_neg {E : Type u_5} [SeminormedAddCommGroup E] (x y : E) :
                                              dist (-x) y = dist x (-y)
                                              theorem enorm_sum_le {ι : Type u_3} {ε : Type u_9} [TopologicalSpace ε] [ESeminormedAddCommMonoid ε] (s : Finset ι) (f : ιε) :
                                              is, f i‖ₑ is, f i‖ₑ
                                              theorem norm_sum_le {ι : Type u_3} {E : Type u_9} [SeminormedAddCommGroup E] (s : Finset ι) (f : ιE) :
                                              is, f i is, f i
                                              theorem enorm_prod_le {ι : Type u_3} {ε : Type u_8} [TopologicalSpace ε] [ESeminormedCommMonoid ε] (s : Finset ι) (f : ιε) :
                                              is, f i‖ₑ is, f i‖ₑ
                                              theorem norm_prod_le {ι : Type u_3} {E : Type u_5} [SeminormedCommGroup E] (s : Finset ι) (f : ιE) :
                                              is, f i is, f i
                                              theorem enorm_prod_le_of_le {ι : Type u_3} {ε : Type u_8} [TopologicalSpace ε] [ESeminormedCommMonoid ε] (s : Finset ι) {f : ιε} {n : ιENNReal} (h : bs, f b‖ₑ n b) :
                                              bs, f b‖ₑ bs, n b
                                              theorem enorm_sum_le_of_le {ι : Type u_3} {ε : Type u_8} [TopologicalSpace ε] [ESeminormedAddCommMonoid ε] (s : Finset ι) {f : ιε} {n : ιENNReal} (h : bs, f b‖ₑ n b) :
                                              bs, f b‖ₑ bs, n b
                                              theorem norm_prod_le_of_le {ι : Type u_3} {E : Type u_5} [SeminormedCommGroup E] (s : Finset ι) {f : ιE} {n : ι} (h : bs, f b n b) :
                                              bs, f b bs, n b
                                              theorem norm_sum_le_of_le {ι : Type u_3} {E : Type u_5} [SeminormedAddCommGroup E] (s : Finset ι) {f : ιE} {n : ι} (h : bs, f b n b) :
                                              bs, f b bs, n b
                                              theorem dist_prod_prod_le_of_le {ι : Type u_3} {E : Type u_5} [SeminormedCommGroup E] (s : Finset ι) {f a : ιE} {d : ι} (h : bs, dist (f b) (a b) d b) :
                                              dist (∏ bs, f b) (∏ bs, a b) bs, d b
                                              theorem dist_sum_sum_le_of_le {ι : Type u_3} {E : Type u_5} [SeminormedAddCommGroup E] (s : Finset ι) {f a : ιE} {d : ι} (h : bs, dist (f b) (a b) d b) :
                                              dist (∑ bs, f b) (∑ bs, a b) bs, d b
                                              theorem dist_prod_prod_le {ι : Type u_3} {E : Type u_5} [SeminormedCommGroup E] (s : Finset ι) (f a : ιE) :
                                              dist (∏ bs, f b) (∏ bs, a b) bs, dist (f b) (a b)
                                              theorem dist_sum_sum_le {ι : Type u_3} {E : Type u_5} [SeminormedAddCommGroup E] (s : Finset ι) (f a : ιE) :
                                              dist (∑ bs, f b) (∑ bs, a b) bs, dist (f b) (a b)
                                              theorem mul_mem_ball_iff_norm {E : Type u_5} [SeminormedCommGroup E] {a b : E} {r : } :
                                              @[simp]
                                              theorem preimage_mul_ball {E : Type u_5} [SeminormedCommGroup E] (a b : E) (r : ) :
                                              (fun (x : E) => b * x) ⁻¹' Metric.ball a r = Metric.ball (a / b) r
                                              @[simp]
                                              theorem preimage_add_ball {E : Type u_5} [SeminormedAddCommGroup E] (a b : E) (r : ) :
                                              (fun (x : E) => b + x) ⁻¹' Metric.ball a r = Metric.ball (a - b) r
                                              @[simp]
                                              theorem preimage_mul_closedBall {E : Type u_5} [SeminormedCommGroup E] (a b : E) (r : ) :
                                              (fun (x : E) => b * x) ⁻¹' Metric.closedBall a r = Metric.closedBall (a / b) r
                                              @[simp]
                                              theorem preimage_add_closedBall {E : Type u_5} [SeminormedAddCommGroup E] (a b : E) (r : ) :
                                              (fun (x : E) => b + x) ⁻¹' Metric.closedBall a r = Metric.closedBall (a - b) r
                                              @[simp]
                                              theorem preimage_mul_sphere {E : Type u_5} [SeminormedCommGroup E] (a b : E) (r : ) :
                                              (fun (x : E) => b * x) ⁻¹' Metric.sphere a r = Metric.sphere (a / b) r
                                              @[simp]
                                              theorem preimage_add_sphere {E : Type u_5} [SeminormedAddCommGroup E] (a b : E) (r : ) :
                                              (fun (x : E) => b + x) ⁻¹' Metric.sphere a r = Metric.sphere (a - b) r
                                              theorem pow_mem_closedBall {E : Type u_5} [SeminormedCommGroup E] {a b : E} {r : } {n : } (h : a Metric.closedBall b r) :
                                              a ^ n Metric.closedBall (b ^ n) (n r)
                                              theorem nsmul_mem_closedBall {E : Type u_5} [SeminormedAddCommGroup E] {a b : E} {r : } {n : } (h : a Metric.closedBall b r) :
                                              n a Metric.closedBall (n b) (n r)
                                              theorem pow_mem_ball {E : Type u_5} [SeminormedCommGroup E] {a b : E} {r : } {n : } (hn : 0 < n) (h : a Metric.ball b r) :
                                              a ^ n Metric.ball (b ^ n) (n r)
                                              theorem nsmul_mem_ball {E : Type u_5} [SeminormedAddCommGroup E] {a b : E} {r : } {n : } (hn : 0 < n) (h : a Metric.ball b r) :
                                              n a Metric.ball (n b) (n r)
                                              theorem mul_mem_ball_mul_iff {E : Type u_5} [SeminormedCommGroup E] {a b : E} {r : } {c : E} :
                                              a * c Metric.ball (b * c) r a Metric.ball b r
                                              theorem add_mem_ball_add_iff {E : Type u_5} [SeminormedAddCommGroup E] {a b : E} {r : } {c : E} :
                                              a + c Metric.ball (b + c) r a Metric.ball b r
                                              theorem smul_ball'' {E : Type u_5} [SeminormedCommGroup E] {a b : E} {r : } :
                                              theorem vadd_ball'' {E : Type u_5} [SeminormedAddCommGroup E] {a b : E} {r : } :
                                              theorem nnnorm_prod_le {ι : Type u_3} {E : Type u_5} [SeminormedCommGroup E] (s : Finset ι) (f : ιE) :
                                              as, f a‖₊ as, f a‖₊
                                              theorem nnnorm_sum_le {ι : Type u_3} {E : Type u_5} [SeminormedAddCommGroup E] (s : Finset ι) (f : ιE) :
                                              as, f a‖₊ as, f a‖₊
                                              theorem nnnorm_prod_le_of_le {ι : Type u_3} {E : Type u_5} [SeminormedCommGroup E] (s : Finset ι) {f : ιE} {n : ιNNReal} (h : bs, f b‖₊ n b) :
                                              bs, f b‖₊ bs, n b
                                              theorem nnnorm_sum_le_of_le {ι : Type u_3} {E : Type u_5} [SeminormedAddCommGroup E] (s : Finset ι) {f : ιE} {n : ιNNReal} (h : bs, f b‖₊ n b) :
                                              bs, f b‖₊ bs, n b
                                              @[simp]
                                              theorem norm_le_zero_iff' {E : Type u_5} [NormedGroup E] {a : E} :
                                              a 0 a = 1
                                              @[simp]
                                              theorem norm_le_zero_iff {E : Type u_5} [NormedAddGroup E] {a : E} :
                                              a 0 a = 0
                                              @[simp]
                                              theorem norm_pos_iff' {E : Type u_5} [NormedGroup E] {a : E} :
                                              0 < a a 1
                                              @[simp]
                                              theorem norm_pos_iff {E : Type u_5} [NormedAddGroup E] {a : E} :
                                              0 < a a 0
                                              @[simp]
                                              theorem norm_eq_zero' {E : Type u_5} [NormedGroup E] {a : E} :
                                              a = 0 a = 1
                                              @[simp]
                                              theorem norm_eq_zero {E : Type u_5} [NormedAddGroup E] {a : E} :
                                              a = 0 a = 0
                                              theorem norm_ne_zero_iff' {E : Type u_5} [NormedGroup E] {a : E} :
                                              a 0 a 1
                                              theorem norm_ne_zero_iff {E : Type u_5} [NormedAddGroup E] {a : E} :
                                              a 0 a 0
                                              theorem norm_div_eq_zero_iff {E : Type u_5} [NormedGroup E] {a b : E} :
                                              a / b = 0 a = b
                                              theorem norm_sub_eq_zero_iff {E : Type u_5} [NormedAddGroup E] {a b : E} :
                                              a - b = 0 a = b
                                              theorem norm_div_pos_iff {E : Type u_5} [NormedGroup E] {a b : E} :
                                              0 < a / b a b
                                              theorem norm_sub_pos_iff {E : Type u_5} [NormedAddGroup E] {a b : E} :
                                              0 < a - b a b
                                              theorem eq_of_norm_div_le_zero {E : Type u_5} [NormedGroup E] {a b : E} (h : a / b 0) :
                                              a = b
                                              theorem eq_of_norm_sub_le_zero {E : Type u_5} [NormedAddGroup E] {a b : E} (h : a - b 0) :
                                              a = b
                                              theorem eq_of_norm_div_eq_zero {E : Type u_5} [NormedGroup E] {a b : E} :
                                              a / b = 0a = b

                                              Alias of the forward direction of norm_div_eq_zero_iff.

                                              theorem eq_of_norm_sub_eq_zero {E : Type u_5} [NormedAddGroup E] {a b : E} :
                                              a - b = 0a = b
                                              theorem eq_one_or_norm_pos {E : Type u_5} [NormedGroup E] (a : E) :
                                              a = 1 0 < a
                                              theorem eq_zero_or_norm_pos {E : Type u_5} [NormedAddGroup E] (a : E) :
                                              a = 0 0 < a
                                              theorem eq_one_or_nnnorm_pos {E : Type u_5} [NormedGroup E] (a : E) :
                                              a = 1 0 < a‖₊
                                              @[simp]
                                              theorem nnnorm_eq_zero' {E : Type u_5} [NormedGroup E] {a : E} :
                                              a‖₊ = 0 a = 1
                                              @[simp]
                                              theorem nnnorm_eq_zero {E : Type u_5} [NormedAddGroup E] {a : E} :
                                              a‖₊ = 0 a = 0
                                              theorem nnnorm_ne_zero_iff' {E : Type u_5} [NormedGroup E] {a : E} :
                                              theorem nnnorm_ne_zero_iff {E : Type u_5} [NormedAddGroup E] {a : E} :
                                              @[simp]
                                              theorem nnnorm_pos' {E : Type u_5} [NormedGroup E] {a : E} :
                                              @[simp]
                                              theorem nnnorm_pos {E : Type u_5} [NormedAddGroup E] {a : E} :

                                              The norm of a normed group as a group norm.

                                              Equations
                                                Instances For

                                                  The norm of a normed group as an additive group norm.

                                                  Equations
                                                    Instances For

                                                      Some relations with HasCompactSupport

                                                      theorem hasCompactSupport_norm_iff {α : Type u_2} {E : Type u_5} [NormedAddGroup E] [TopologicalSpace α] {f : αE} :
                                                      theorem HasCompactSupport.norm {α : Type u_2} {E : Type u_5} [NormedAddGroup E] [TopologicalSpace α] {f : αE} :
                                                      HasCompactSupport fHasCompactSupport fun (x : α) => f x

                                                      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.

                                                      Equations
                                                        Instances For

                                                          Extension for the positivity tactic: additive norms are always nonnegative, and positive on non-zero inputs.

                                                          Equations
                                                            Instances For