Documentation

Mathlib.Analysis.Normed.Group.Defs

(Semi)normed groups: definitions #

In this file we define 10 classes:

We also provide some instances relating these classes.

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

class Norm (E : Type u_8) :
Type u_8

Auxiliary class, endowing a type E with a function norm : E → ℝ with notation ‖x‖. This class is designed to be extended in more interesting classes specifying the properties of the norm.

  • norm : E

    the -valued norm function.

Instances
    class NNNorm (E : Type u_8) :
    Type u_8

    Auxiliary class, endowing a type α with a function nnnorm : α → ℝ≥0 with notation ‖x‖₊.

    • nnnorm : ENNReal

      the ℝ≥0-valued norm function.

    Instances
      class ENorm (E : Type u_8) :
      Type u_8

      Auxiliary class, endowing a type α with a function enorm : α → ℝ≥0∞ with notation ‖x‖ₑ.

      • enorm : EENNReal

        the ℝ≥0∞-valued norm function.

      Instances

        the -valued norm function.

        Equations
          Instances For

            the ℝ≥0-valued norm function.

            Equations
              Instances For

                the ℝ≥0∞-valued norm function.

                Equations
                  Instances For
                    instance NNNorm.toENorm {E : Type u_8} [NNNorm E] :
                    Equations
                      theorem enorm_eq_nnnorm {E : Type u_8} [NNNorm E] (x : E) :
                      @[simp]
                      theorem toNNReal_enorm {E : Type u_8} [NNNorm E] (x : E) :
                      @[simp]
                      theorem coe_le_enorm {E : Type u_8} [NNNorm E] {x : E} {r : NNReal} :
                      @[simp]
                      theorem enorm_le_coe {E : Type u_8} [NNNorm E] {x : E} {r : NNReal} :
                      @[simp]
                      theorem coe_lt_enorm {E : Type u_8} [NNNorm E] {x : E} {r : NNReal} :
                      @[simp]
                      theorem enorm_lt_coe {E : Type u_8} [NNNorm E] {x : E} {r : NNReal} :
                      @[simp]
                      theorem enorm_ne_top {E : Type u_8} [NNNorm E] {x : E} :
                      @[simp]
                      theorem enorm_lt_top {E : Type u_8} [NNNorm E] {x : E} :
                      class ContinuousENorm (E : Type u_8) [TopologicalSpace E] extends ENorm E :
                      Type u_8

                      A type E equipped with a continuous map ‖·‖ₑ : E → ℝ≥0∞

                      NB. We do not demand that the topology is somehow defined by the enorm: for ℝ≥0∞ (the motivating example behind this definition), this is not true.

                      Instances

                        An e-seminormed monoid is an additive monoid endowed with a continuous enorm. Note that we do not ask for the enorm to be positive definite: non-trivial elements may have enorm zero.

                        Instances

                          An enormed monoid is an additive monoid endowed with a continuous enorm, which is positive definite: in other words, this is an ESeminormedAddMonoid with a positive definiteness condition added.

                          Instances
                            class ESeminormedMonoid (E : Type u_8) [TopologicalSpace E] extends ContinuousENorm E, Monoid E :
                            Type u_8

                            An e-seminormed monoid is a monoid endowed with a continuous enorm. Note that we only ask for the enorm to be a semi-norm: non-trivial elements may have enorm zero.

                            Instances
                              class ENormedMonoid (E : Type u_8) [TopologicalSpace E] extends ESeminormedMonoid E :
                              Type u_8

                              An enormed monoid is a monoid endowed with a continuous enorm, which is positive definite: in other words, this is an ESeminormedMonoid with a positive definiteness condition added.

                              Instances

                                An e-seminormed commutative monoid is an additive commutative monoid endowed with a continuous enorm.

                                We don't have ESeminormedAddCommMonoid extend EMetricSpace, since the canonical instance ℝ≥0∞ is not an EMetricSpace. This is because ℝ≥0∞ carries the order topology, which is distinct from the topology coming from edist.

                                Instances

                                  An enormed commutative monoid is an additive commutative monoid endowed with a continuous enorm which is positive definite.

                                  We don't have ENormedAddCommMonoid extend EMetricSpace, since the canonical instance ℝ≥0∞ is not an EMetricSpace. This is because ℝ≥0∞ carries the order topology, which is distinct from the topology coming from edist.

                                  Instances

                                    An e-seminormed commutative monoid is a commutative monoid endowed with a continuous enorm.

                                    Instances

                                      An enormed commutative monoid is a commutative monoid endowed with a continuous enorm which is positive definite.

                                      Instances
                                        class SeminormedAddGroup (E : Type u_8) extends Norm E, AddGroup E, PseudoMetricSpace E :
                                        Type u_8

                                        A seminormed group is an additive group endowed with a norm for which dist x y = ‖x - y‖ defines a pseudometric space structure.

                                        Instances
                                          class SeminormedGroup (E : Type u_8) extends Norm E, Group E, PseudoMetricSpace E :
                                          Type u_8

                                          A seminormed group is a group endowed with a norm for which dist x y = ‖x / y‖ defines a pseudometric space structure.

                                          Instances
                                            class NormedAddGroup (E : Type u_8) extends Norm E, AddGroup E, MetricSpace E :
                                            Type u_8

                                            A normed group is an additive group endowed with a norm for which dist x y = ‖x - y‖ defines a metric space structure.

                                            Instances
                                              class NormedGroup (E : Type u_8) extends Norm E, Group E, MetricSpace E :
                                              Type u_8

                                              A normed group is a group endowed with a norm for which dist x y = ‖x / y‖ defines a metric space structure.

                                              Instances
                                                class SeminormedAddCommGroup (E : Type u_8) extends Norm E, AddCommGroup E, PseudoMetricSpace E :
                                                Type u_8

                                                A seminormed group is an additive group endowed with a norm for which dist x y = ‖x - y‖ defines a pseudometric space structure.

                                                Instances
                                                  class SeminormedCommGroup (E : Type u_8) extends Norm E, CommGroup E, PseudoMetricSpace E :
                                                  Type u_8

                                                  A seminormed group is a group endowed with a norm for which dist x y = ‖x / y‖ defines a pseudometric space structure.

                                                  Instances
                                                    class NormedAddCommGroup (E : Type u_8) extends Norm E, AddCommGroup E, MetricSpace E :
                                                    Type u_8

                                                    A normed group is an additive group endowed with a norm for which dist x y = ‖x - y‖ defines a metric space structure.

                                                    Instances
                                                      class NormedCommGroup (E : Type u_8) extends Norm E, CommGroup E, MetricSpace E :
                                                      Type u_8

                                                      A normed group is a group endowed with a norm for which dist x y = ‖x / y‖ defines a metric space structure.

                                                      Instances
                                                        @[instance 100]
                                                        Equations
                                                          @[instance 100]
                                                          Equations
                                                            @[reducible, inline]
                                                            abbrev NormedGroup.ofSeparation {E : Type u_5} [SeminormedGroup E] (h : ∀ (x : E), x = 0x = 1) :

                                                            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
                                                                @[reducible, inline]
                                                                abbrev NormedAddGroup.ofSeparation {E : Type u_5} [SeminormedAddGroup E] (h : ∀ (x : E), x = 0x = 0) :

                                                                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
                                                                    @[reducible, inline]
                                                                    abbrev NormedCommGroup.ofSeparation {E : Type u_5} [SeminormedCommGroup E] (h : ∀ (x : E), x = 0x = 1) :

                                                                    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
                                                                      Instances For
                                                                        @[reducible, inline]
                                                                        abbrev NormedAddCommGroup.ofSeparation {E : Type u_5} [SeminormedAddCommGroup E] (h : ∀ (x : E), x = 0x = 0) :

                                                                        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
                                                                          Instances For
                                                                            @[reducible, inline]
                                                                            abbrev SeminormedGroup.ofMulDist {E : Type u_5} [Norm E] [Group E] [PseudoMetricSpace E] (h₁ : ∀ (x : E), x = dist x 1) (h₂ : ∀ (x y z : E), dist x y dist (x * z) (y * z)) :

                                                                            Construct a seminormed group from a multiplication-invariant distance.

                                                                            Equations
                                                                              Instances For
                                                                                @[reducible, inline]
                                                                                abbrev SeminormedAddGroup.ofAddDist {E : Type u_5} [Norm E] [AddGroup E] [PseudoMetricSpace E] (h₁ : ∀ (x : E), x = dist x 0) (h₂ : ∀ (x y z : E), dist x y dist (x + z) (y + z)) :

                                                                                Construct a seminormed group from a translation-invariant distance.

                                                                                Equations
                                                                                  Instances For
                                                                                    @[reducible, inline]
                                                                                    abbrev SeminormedGroup.ofMulDist' {E : Type u_5} [Norm E] [Group E] [PseudoMetricSpace E] (h₁ : ∀ (x : E), x = dist x 1) (h₂ : ∀ (x y z : E), dist (x * z) (y * z) dist x y) :

                                                                                    Construct a seminormed group from a multiplication-invariant pseudodistance.

                                                                                    Equations
                                                                                      Instances For
                                                                                        @[reducible, inline]
                                                                                        abbrev SeminormedAddGroup.ofAddDist' {E : Type u_5} [Norm E] [AddGroup E] [PseudoMetricSpace E] (h₁ : ∀ (x : E), x = dist x 0) (h₂ : ∀ (x y z : E), dist (x + z) (y + z) dist x y) :

                                                                                        Construct a seminormed group from a translation-invariant pseudodistance.

                                                                                        Equations
                                                                                          Instances For
                                                                                            @[reducible, inline]
                                                                                            abbrev SeminormedCommGroup.ofMulDist {E : Type u_5} [Norm E] [CommGroup E] [PseudoMetricSpace E] (h₁ : ∀ (x : E), x = dist x 1) (h₂ : ∀ (x y z : E), dist x y dist (x * z) (y * z)) :

                                                                                            Construct a seminormed group from a multiplication-invariant pseudodistance.

                                                                                            Equations
                                                                                              Instances For
                                                                                                @[reducible, inline]
                                                                                                abbrev SeminormedAddCommGroup.ofAddDist {E : Type u_5} [Norm E] [AddCommGroup E] [PseudoMetricSpace E] (h₁ : ∀ (x : E), x = dist x 0) (h₂ : ∀ (x y z : E), dist x y dist (x + z) (y + z)) :

                                                                                                Construct a seminormed group from a translation-invariant pseudodistance.

                                                                                                Equations
                                                                                                  Instances For
                                                                                                    @[reducible, inline]
                                                                                                    abbrev SeminormedCommGroup.ofMulDist' {E : Type u_5} [Norm E] [CommGroup E] [PseudoMetricSpace E] (h₁ : ∀ (x : E), x = dist x 1) (h₂ : ∀ (x y z : E), dist (x * z) (y * z) dist x y) :

                                                                                                    Construct a seminormed group from a multiplication-invariant pseudodistance.

                                                                                                    Equations
                                                                                                      Instances For
                                                                                                        @[reducible, inline]
                                                                                                        abbrev SeminormedAddCommGroup.ofAddDist' {E : Type u_5} [Norm E] [AddCommGroup E] [PseudoMetricSpace E] (h₁ : ∀ (x : E), x = dist x 0) (h₂ : ∀ (x y z : E), dist (x + z) (y + z) dist x y) :

                                                                                                        Construct a seminormed group from a translation-invariant pseudodistance.

                                                                                                        Equations
                                                                                                          Instances For
                                                                                                            @[reducible, inline]
                                                                                                            abbrev NormedGroup.ofMulDist {E : Type u_5} [Norm E] [Group E] [MetricSpace E] (h₁ : ∀ (x : E), x = dist x 1) (h₂ : ∀ (x y z : E), dist x y dist (x * z) (y * z)) :

                                                                                                            Construct a normed group from a multiplication-invariant distance.

                                                                                                            Equations
                                                                                                              Instances For
                                                                                                                @[reducible, inline]
                                                                                                                abbrev NormedAddGroup.ofAddDist {E : Type u_5} [Norm E] [AddGroup E] [MetricSpace E] (h₁ : ∀ (x : E), x = dist x 0) (h₂ : ∀ (x y z : E), dist x y dist (x + z) (y + z)) :

                                                                                                                Construct a normed group from a translation-invariant distance.

                                                                                                                Equations
                                                                                                                  Instances For
                                                                                                                    @[reducible, inline]
                                                                                                                    abbrev NormedGroup.ofMulDist' {E : Type u_5} [Norm E] [Group E] [MetricSpace E] (h₁ : ∀ (x : E), x = dist x 1) (h₂ : ∀ (x y z : E), dist (x * z) (y * z) dist x y) :

                                                                                                                    Construct a normed group from a multiplication-invariant pseudodistance.

                                                                                                                    Equations
                                                                                                                      Instances For
                                                                                                                        @[reducible, inline]
                                                                                                                        abbrev NormedAddGroup.ofAddDist' {E : Type u_5} [Norm E] [AddGroup E] [MetricSpace E] (h₁ : ∀ (x : E), x = dist x 0) (h₂ : ∀ (x y z : E), dist (x + z) (y + z) dist x y) :

                                                                                                                        Construct a normed group from a translation-invariant pseudodistance.

                                                                                                                        Equations
                                                                                                                          Instances For
                                                                                                                            @[reducible, inline]
                                                                                                                            abbrev NormedCommGroup.ofMulDist {E : Type u_5} [Norm E] [CommGroup E] [MetricSpace E] (h₁ : ∀ (x : E), x = dist x 1) (h₂ : ∀ (x y z : E), dist x y dist (x * z) (y * z)) :

                                                                                                                            Construct a normed group from a multiplication-invariant pseudodistance.

                                                                                                                            Equations
                                                                                                                              Instances For
                                                                                                                                @[reducible, inline]
                                                                                                                                abbrev NormedAddCommGroup.ofAddDist {E : Type u_5} [Norm E] [AddCommGroup E] [MetricSpace E] (h₁ : ∀ (x : E), x = dist x 0) (h₂ : ∀ (x y z : E), dist x y dist (x + z) (y + z)) :

                                                                                                                                Construct a normed group from a translation-invariant pseudodistance.

                                                                                                                                Equations
                                                                                                                                  Instances For
                                                                                                                                    @[reducible, inline]
                                                                                                                                    abbrev NormedCommGroup.ofMulDist' {E : Type u_5} [Norm E] [CommGroup E] [MetricSpace E] (h₁ : ∀ (x : E), x = dist x 1) (h₂ : ∀ (x y z : E), dist (x * z) (y * z) dist x y) :

                                                                                                                                    Construct a normed group from a multiplication-invariant pseudodistance.

                                                                                                                                    Equations
                                                                                                                                      Instances For
                                                                                                                                        @[reducible, inline]
                                                                                                                                        abbrev NormedAddCommGroup.ofAddDist' {E : Type u_5} [Norm E] [AddCommGroup E] [MetricSpace E] (h₁ : ∀ (x : E), x = dist x 0) (h₂ : ∀ (x y z : E), dist (x + z) (y + z) dist x y) :

                                                                                                                                        Construct a normed group from a translation-invariant pseudodistance.

                                                                                                                                        Equations
                                                                                                                                          Instances For
                                                                                                                                            @[reducible, inline]

                                                                                                                                            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
                                                                                                                                                @[reducible, inline]

                                                                                                                                                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
                                                                                                                                                    @[reducible, inline]

                                                                                                                                                    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
                                                                                                                                                        @[reducible, inline]

                                                                                                                                                        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
                                                                                                                                                            @[reducible, inline]
                                                                                                                                                            abbrev GroupNorm.toNormedGroup {E : Type u_5} [Group E] (f : GroupNorm E) :

                                                                                                                                                            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
                                                                                                                                                              Instances For
                                                                                                                                                                @[reducible, inline]

                                                                                                                                                                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
                                                                                                                                                                  Instances For
                                                                                                                                                                    @[reducible, inline]

                                                                                                                                                                    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
                                                                                                                                                                      Instances For
                                                                                                                                                                        @[reducible, inline]

                                                                                                                                                                        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
                                                                                                                                                                          Instances For