Documentation

Mathlib.Analysis.Normed.Field.Basic

Normed fields #

In this file we define (semi)normed rings and fields. We also prove some theorems about these definitions.

A non-unital seminormed ring is a not-necessarily-unital ring endowed with a seminorm which satisfies the inequality ‖x y‖ ≤ ‖x‖ ‖y‖.

Instances
    class SeminormedRing (α : Type u_5) extends Norm , Ring , PseudoMetricSpace :
    Type u_5

    A seminormed ring is a ring endowed with a seminorm which satisfies the inequality ‖x y‖ ≤ ‖x‖ ‖y‖.

    Instances

      A seminormed ring is a non-unital seminormed ring.

      Equations
      class NonUnitalNormedRing (α : Type u_5) extends Norm , NonUnitalRing , MetricSpace :
      Type u_5

      A non-unital normed ring is a not-necessarily-unital ring endowed with a norm which satisfies the inequality ‖x y‖ ≤ ‖x‖ ‖y‖.

      Instances

        A non-unital normed ring is a non-unital seminormed ring.

        Equations
        class NormedRing (α : Type u_5) extends Norm , Ring , MetricSpace :
        Type u_5

        A normed ring is a ring endowed with a norm which satisfies the inequality ‖x y‖ ≤ ‖x‖ ‖y‖.

        Instances
          class NormedDivisionRing (α : Type u_5) extends Norm , DivisionRing , MetricSpace :
          Type u_5

          A normed division ring is a division ring endowed with a seminorm which satisfies the equality ‖x y‖ = ‖x‖ ‖y‖.

          Instances

            A normed division ring is a normed ring.

            Equations
            instance NormedRing.toSeminormedRing {α : Type u_1} [β : NormedRing α] :

            A normed ring is a seminormed ring.

            Equations

            A normed ring is a non-unital normed ring.

            Equations
            class SeminormedCommRing (α : Type u_5) extends SeminormedRing :
            Type u_5

            A seminormed commutative ring is a commutative ring endowed with a seminorm which satisfies the inequality ‖x y‖ ≤ ‖x‖ ‖y‖.

            Instances
              class NormedCommRing (α : Type u_5) extends NormedRing :
              Type u_5

              A normed commutative ring is a commutative ring endowed with a norm which satisfies the inequality ‖x y‖ ≤ ‖x‖ ‖y‖.

              Instances

                A normed commutative ring is a seminormed commutative ring.

                Equations
                class NormOneClass (α : Type u_5) [Norm α] [One α] :
                • norm_one : 1 = 1

                  The norm of the multiplicative identity is 1.

                A mixin class with the axiom ‖1‖ = 1. Many NormedRings and all NormedFields satisfy this axiom.

                Instances
                  @[simp]
                  theorem nnnorm_one {α : Type u_1} [SeminormedAddCommGroup α] [One α] [NormOneClass α] :
                  Equations
                  • SeminormedCommRing.toCommRing = CommRing.mk (_ : ∀ (x y : α), x * y = y * x)
                  Equations
                  • NonUnitalNormedRing.toNormedAddCommGroup = NormedAddCommGroup.mk
                  Equations
                  • NonUnitalSeminormedRing.toSeminormedAddCommGroup = let src := inst; SeminormedAddCommGroup.mk
                  instance Pi.normOneClass {ι : Type u_5} {α : ιType u_6} [Nonempty ι] [Fintype ι] [(i : ι) → SeminormedAddCommGroup (α i)] [(i : ι) → One (α i)] [∀ (i : ι), NormOneClass (α i)] :
                  NormOneClass ((i : ι) → α i)
                  Equations
                  theorem norm_mul_le {α : Type u_1} [NonUnitalSeminormedRing α] (a : α) (b : α) :
                  theorem nnnorm_mul_le {α : Type u_1} [NonUnitalSeminormedRing α] (a : α) (b : α) :
                  theorem one_le_norm_one (β : Type u_5) [NormedRing β] [Nontrivial β] :
                  theorem Filter.Tendsto.zero_mul_isBoundedUnder_le {α : Type u_1} {ι : Type u_4} [NonUnitalSeminormedRing α] {f : ια} {g : ια} {l : Filter ι} (hf : Filter.Tendsto f l (nhds 0)) (hg : Filter.IsBoundedUnder (fun x x_1 => x x_1) l ((fun x => x) g)) :
                  Filter.Tendsto (fun x => f x * g x) l (nhds 0)
                  theorem Filter.isBoundedUnder_le_mul_tendsto_zero {α : Type u_1} {ι : Type u_4} [NonUnitalSeminormedRing α] {f : ια} {g : ια} {l : Filter ι} (hf : Filter.IsBoundedUnder (fun x x_1 => x x_1) l (norm f)) (hg : Filter.Tendsto g l (nhds 0)) :
                  Filter.Tendsto (fun x => f x * g x) l (nhds 0)
                  theorem mulLeft_bound {α : Type u_1} [NonUnitalSeminormedRing α] (x : α) (y : α) :

                  In a seminormed ring, the left-multiplication AddMonoidHom is bounded.

                  theorem mulRight_bound {α : Type u_1} [NonUnitalSeminormedRing α] (x : α) (y : α) :

                  In a seminormed ring, the right-multiplication AddMonoidHom is bounded.

                  Equations
                  • One or more equations did not get rendered due to their size.

                  Non-unital seminormed ring structure on the product of two non-unital seminormed rings, using the sup norm.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  instance Pi.nonUnitalSeminormedRing {ι : Type u_4} {π : ιType u_5} [Fintype ι] [(i : ι) → NonUnitalSeminormedRing (π i)] :
                  NonUnitalSeminormedRing ((i : ι) → π i)

                  Non-unital seminormed ring structure on the product of finitely many non-unital seminormed rings, using the sup norm.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Equations
                  • One or more equations did not get rendered due to their size.
                  instance Subalgebra.seminormedRing {𝕜 : Type u_5} [CommRing 𝕜] {E : Type u_6} [SeminormedRing E] [Algebra 𝕜 E] (s : Subalgebra 𝕜 E) :
                  SeminormedRing { x // x s }

                  A subalgebra of a seminormed ring is also a seminormed ring, with the restriction of the norm.

                  See note [implicit instance arguments].

                  Equations
                  • One or more equations did not get rendered due to their size.
                  instance Subalgebra.normedRing {𝕜 : Type u_5} [CommRing 𝕜] {E : Type u_6} [NormedRing E] [Algebra 𝕜 E] (s : Subalgebra 𝕜 E) :
                  NormedRing { x // x s }

                  A subalgebra of a normed ring is also a normed ring, with the restriction of the norm.

                  See note [implicit instance arguments].

                  Equations
                  theorem Nat.norm_cast_le {α : Type u_1} [SeminormedRing α] (n : ) :
                  n n * 1
                  theorem List.norm_prod_le' {α : Type u_1} [SeminormedRing α] {l : List α} :
                  theorem List.nnnorm_prod_le' {α : Type u_1} [SeminormedRing α] {l : List α} (hl : l []) :
                  theorem Finset.norm_prod_le' {ι : Type u_4} {α : Type u_5} [NormedCommRing α] (s : Finset ι) (hs : Finset.Nonempty s) (f : ια) :
                  Finset.prod s fun i => f i Finset.prod s fun i => f i
                  theorem Finset.nnnorm_prod_le' {ι : Type u_4} {α : Type u_5} [NormedCommRing α] (s : Finset ι) (hs : Finset.Nonempty s) (f : ια) :
                  Finset.prod s fun i => f i‖₊ Finset.prod s fun i => f i‖₊
                  theorem Finset.norm_prod_le {ι : Type u_4} {α : Type u_5} [NormedCommRing α] [NormOneClass α] (s : Finset ι) (f : ια) :
                  Finset.prod s fun i => f i Finset.prod s fun i => f i
                  theorem Finset.nnnorm_prod_le {ι : Type u_4} {α : Type u_5} [NormedCommRing α] [NormOneClass α] (s : Finset ι) (f : ια) :
                  Finset.prod s fun i => f i‖₊ Finset.prod s fun i => f i‖₊
                  theorem nnnorm_pow_le' {α : Type u_1} [SeminormedRing α] (a : α) {n : } :
                  0 < na ^ n‖₊ a‖₊ ^ n

                  If α is a seminormed ring, then ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n for n > 0. See also nnnorm_pow_le.

                  theorem nnnorm_pow_le {α : Type u_1} [SeminormedRing α] [NormOneClass α] (a : α) (n : ) :

                  If α is a seminormed ring with ‖1‖₊ = 1, then ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n. See also nnnorm_pow_le'.

                  theorem norm_pow_le' {α : Type u_1} [SeminormedRing α] (a : α) {n : } (h : 0 < n) :

                  If α is a seminormed ring, then ‖a ^ n‖ ≤ ‖a‖ ^ n for n > 0. See also norm_pow_le.

                  theorem norm_pow_le {α : Type u_1} [SeminormedRing α] [NormOneClass α] (a : α) (n : ) :

                  If α is a seminormed ring with ‖1‖ = 1, then ‖a ^ n‖ ≤ ‖a‖ ^ n. See also norm_pow_le'.

                  theorem eventually_norm_pow_le {α : Type u_1} [SeminormedRing α] (a : α) :
                  ∀ᶠ (n : ) in Filter.atTop, a ^ n a ^ n
                  Equations
                  • One or more equations did not get rendered due to their size.
                  instance Prod.seminormedRing {α : Type u_1} {β : Type u_2} [SeminormedRing α] [SeminormedRing β] :

                  Seminormed ring structure on the product of two seminormed rings, using the sup norm.

                  Equations
                  instance Pi.seminormedRing {ι : Type u_4} {π : ιType u_5} [Fintype ι] [(i : ι) → SeminormedRing (π i)] :
                  SeminormedRing ((i : ι) → π i)

                  Seminormed ring structure on the product of finitely many seminormed rings, using the sup norm.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Equations
                  • One or more equations did not get rendered due to their size.

                  Non-unital normed ring structure on the product of two non-unital normed rings, using the sup norm.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  instance Pi.nonUnitalNormedRing {ι : Type u_4} {π : ιType u_5} [Fintype ι] [(i : ι) → NonUnitalNormedRing (π i)] :
                  NonUnitalNormedRing ((i : ι) → π i)

                  Normed ring structure on the product of finitely many non-unital normed rings, using the sup norm.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Equations
                  • One or more equations did not get rendered due to their size.
                  theorem Units.norm_pos {α : Type u_1} [NormedRing α] [Nontrivial α] (x : αˣ) :
                  0 < x
                  theorem Units.nnnorm_pos {α : Type u_1} [NormedRing α] [Nontrivial α] (x : αˣ) :
                  0 < x‖₊
                  Equations
                  • One or more equations did not get rendered due to their size.
                  instance Prod.normedRing {α : Type u_1} {β : Type u_2} [NormedRing α] [NormedRing β] :
                  NormedRing (α × β)

                  Normed ring structure on the product of two normed rings, using the sup norm.

                  Equations
                  instance Pi.normedRing {ι : Type u_4} {π : ιType u_5} [Fintype ι] [(i : ι) → NormedRing (π i)] :
                  NormedRing ((i : ι) → π i)

                  Normed ring structure on the product of finitely many normed rings, using the sup norm.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Equations
                  • One or more equations did not get rendered due to their size.

                  A seminormed ring is a topological ring.

                  Equations
                  @[simp]
                  theorem norm_mul {α : Type u_1} [NormedDivisionRing α] (a : α) (b : α) :
                  @[simp]
                  theorem nnnorm_mul {α : Type u_1} [NormedDivisionRing α] (a : α) (b : α) :
                  @[simp]
                  theorem normHom_apply {α : Type u_1} [NormedDivisionRing α] :
                  ∀ (x : α), normHom x = x
                  def normHom {α : Type u_1} [NormedDivisionRing α] :

                  norm as a MonoidWithZeroHom.

                  Equations
                  Instances For
                    @[simp]
                    theorem nnnormHom_apply {α : Type u_1} [NormedDivisionRing α] :
                    ∀ (x : α), nnnormHom x = x‖₊

                    nnnorm as a MonoidWithZeroHom.

                    Equations
                    Instances For
                      @[simp]
                      theorem norm_pow {α : Type u_1} [NormedDivisionRing α] (a : α) (n : ) :
                      a ^ n = a ^ n
                      @[simp]
                      theorem nnnorm_pow {α : Type u_1} [NormedDivisionRing α] (a : α) (n : ) :
                      @[simp]
                      theorem norm_div {α : Type u_1} [NormedDivisionRing α] (a : α) (b : α) :
                      @[simp]
                      theorem nnnorm_div {α : Type u_1} [NormedDivisionRing α] (a : α) (b : α) :
                      @[simp]
                      theorem norm_inv {α : Type u_1} [NormedDivisionRing α] (a : α) :
                      @[simp]
                      theorem nnnorm_inv {α : Type u_1} [NormedDivisionRing α] (a : α) :
                      @[simp]
                      theorem norm_zpow {α : Type u_1} [NormedDivisionRing α] (a : α) (n : ) :
                      a ^ n = a ^ n
                      @[simp]
                      theorem nnnorm_zpow {α : Type u_1} [NormedDivisionRing α] (a : α) (n : ) :
                      theorem dist_inv_inv₀ {α : Type u_1} [NormedDivisionRing α] {z : α} {w : α} (hz : z 0) (hw : w 0) :
                      theorem nndist_inv_inv₀ {α : Type u_1} [NormedDivisionRing α] {z : α} {w : α} (hz : z 0) (hw : w 0) :
                      theorem Filter.tendsto_mul_left_cobounded {α : Type u_1} [NormedDivisionRing α] {a : α} (ha : a 0) :
                      Filter.Tendsto ((fun x x_1 => x * x_1) a) (Filter.comap norm Filter.atTop) (Filter.comap norm Filter.atTop)

                      Multiplication on the left by a nonzero element of a normed division ring tends to infinity at infinity. TODO: use Bornology.cobounded instead of Filter.comap Norm.norm Filter.atTop.

                      theorem Filter.tendsto_mul_right_cobounded {α : Type u_1} [NormedDivisionRing α] {a : α} (ha : a 0) :
                      Filter.Tendsto (fun x => x * a) (Filter.comap norm Filter.atTop) (Filter.comap norm Filter.atTop)

                      Multiplication on the right by a nonzero element of a normed division ring tends to infinity at infinity. TODO: use Bornology.cobounded instead of Filter.comap Norm.norm Filter.atTop.

                      theorem norm_map_one_of_pow_eq_one {α : Type u_1} {β : Type u_2} [NormedDivisionRing α] [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ k = 1) :
                      φ x = 1
                      theorem norm_one_of_pow_eq_one {α : Type u_1} [NormedDivisionRing α] {x : α} {k : ℕ+} (h : x ^ k = 1) :
                      class NormedField (α : Type u_5) extends Norm , Field , MetricSpace :
                      Type u_5

                      A normed field is a field with a norm satisfying ‖x y‖ = ‖x‖ ‖y‖.

                      Instances
                        class NontriviallyNormedField (α : Type u_5) extends NormedField :
                        Type u_5

                        A nontrivially normed field is a normed field in which there is an element of norm different from 0 and 1. This makes it possible to bring any element arbitrarily close to 0 by multiplication by the powers of any element, and thus to relate algebra and topology.

                        Instances
                          class DenselyNormedField (α : Type u_5) extends NormedField :
                          Type u_5

                          A densely normed field is a normed field for which the image of the norm is dense in ℝ≥0, which means it is also nontrivially normed. However, not all nontrivally normed fields are densely normed; in particular, the Padics exhibit this fact.

                          Instances

                            A densely normed field is always a nontrivially normed field. See note [lower instance priority].

                            Equations
                            Equations
                            Equations
                            @[simp]
                            theorem norm_prod {α : Type u_1} {β : Type u_2} [NormedField α] (s : Finset β) (f : βα) :
                            Finset.prod s fun b => f b = Finset.prod s fun b => f b
                            @[simp]
                            theorem nnnorm_prod {α : Type u_1} {β : Type u_2} [NormedField α] (s : Finset β) (f : βα) :
                            Finset.prod s fun b => f b‖₊ = Finset.prod s fun b => f b‖₊
                            theorem NormedField.exists_lt_norm (α : Type u_1) [NontriviallyNormedField α] (r : ) :
                            x, r < x
                            theorem NormedField.exists_norm_lt (α : Type u_1) [NontriviallyNormedField α] {r : } (hr : 0 < r) :
                            x, 0 < x x < r
                            theorem NormedField.exists_lt_norm_lt (α : Type u_1) [DenselyNormedField α] {r₁ : } {r₂ : } (h₀ : 0 r₁) (h : r₁ < r₂) :
                            x, r₁ < x x < r₂
                            theorem NormedField.exists_lt_nnnorm_lt (α : Type u_1) [DenselyNormedField α] {r₁ : NNReal} {r₂ : NNReal} (h : r₁ < r₂) :
                            x, r₁ < x‖₊ x‖₊ < r₂
                            Equations
                            noncomputable instance Real.normedField :
                            Equations
                            theorem NNReal.norm_eq (x : NNReal) :
                            x = x
                            @[simp]
                            theorem NNReal.nnnorm_eq (x : NNReal) :
                            x‖₊ = x
                            @[simp]
                            theorem norm_norm {α : Type u_1} [SeminormedAddCommGroup α] (x : α) :
                            @[simp]
                            theorem NormedAddCommGroup.tendsto_atTop {α : Type u_1} [Nonempty α] [SemilatticeSup α] {β : Type u_5} [SeminormedAddCommGroup β] {f : αβ} {b : β} :
                            Filter.Tendsto f Filter.atTop (nhds b) ∀ (ε : ), 0 < εN, ∀ (n : α), N nf n - b < ε

                            A restatement of MetricSpace.tendsto_atTop in terms of the norm.

                            theorem NormedAddCommGroup.tendsto_atTop' {α : Type u_1} [Nonempty α] [SemilatticeSup α] [NoMaxOrder α] {β : Type u_5} [SeminormedAddCommGroup β] {f : αβ} {b : β} :
                            Filter.Tendsto f Filter.atTop (nhds b) ∀ (ε : ), 0 < εN, ∀ (n : α), N < nf n - b < ε

                            A variant of NormedAddCommGroup.tendsto_atTop that uses ∃ N, ∀ n > N, ... rather than ∃ N, ∀ n ≥ N, ...

                            Equations
                            class RingHomIsometric {R₁ : Type u_5} {R₂ : Type u_6} [Semiring R₁] [Semiring R₂] [Norm R₁] [Norm R₂] (σ : R₁ →+* R₂) :
                            • is_iso : ∀ {x : R₁}, σ x = x

                              The ring homomorphism is an isometry.

                            This class states that a ring homomorphism is isometric. This is a sufficient assumption for a continuous semilinear map to be bounded and this is the main use for this typeclass.

                            Instances

                              Induced normed structures #

                              @[reducible]

                              A non-unital ring homomorphism from a NonUnitalRing to a NonUnitalSeminormedRing induces a NonUnitalSeminormedRing structure on the domain.

                              See note [reducible non-instances]

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[reducible]

                                An injective non-unital ring homomorphism from a NonUnitalRing to a NonUnitalNormedRing induces a NonUnitalNormedRing structure on the domain.

                                See note [reducible non-instances]

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[reducible]
                                  def SeminormedRing.induced {F : Type u_5} (R : Type u_6) (S : Type u_7) [Ring R] [SeminormedRing S] [NonUnitalRingHomClass F R S] (f : F) :

                                  A non-unital ring homomorphism from a Ring to a SeminormedRing induces a SeminormedRing structure on the domain.

                                  See note [reducible non-instances]

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    @[reducible]
                                    def NormedRing.induced {F : Type u_5} (R : Type u_6) (S : Type u_7) [Ring R] [NormedRing S] [NonUnitalRingHomClass F R S] (f : F) (hf : Function.Injective f) :

                                    An injective non-unital ring homomorphism from a Ring to a NormedRing induces a NormedRing structure on the domain.

                                    See note [reducible non-instances]

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      @[reducible]
                                      def SeminormedCommRing.induced {F : Type u_5} (R : Type u_6) (S : Type u_7) [CommRing R] [SeminormedRing S] [NonUnitalRingHomClass F R S] (f : F) :

                                      A non-unital ring homomorphism from a CommRing to a SeminormedRing induces a SeminormedCommRing structure on the domain.

                                      See note [reducible non-instances]

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[reducible]
                                        def NormedCommRing.induced {F : Type u_5} (R : Type u_6) (S : Type u_7) [CommRing R] [NormedRing S] [NonUnitalRingHomClass F R S] (f : F) (hf : Function.Injective f) :

                                        An injective non-unital ring homomorphism from a CommRing to a NormedRing induces a NormedCommRing structure on the domain.

                                        See note [reducible non-instances]

                                        Equations
                                        Instances For
                                          @[reducible]

                                          An injective non-unital ring homomorphism from a DivisionRing to a NormedRing induces a NormedDivisionRing structure on the domain.

                                          See note [reducible non-instances]

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            @[reducible]
                                            def NormedField.induced {F : Type u_5} (R : Type u_6) (S : Type u_7) [Field R] [NormedField S] [NonUnitalRingHomClass F R S] (f : F) (hf : Function.Injective f) :

                                            An injective non-unital ring homomorphism from a Field to a NormedRing induces a NormedField structure on the domain.

                                            See note [reducible non-instances]

                                            Equations
                                            Instances For
                                              theorem NormOneClass.induced {F : Type u_8} (R : Type u_9) (S : Type u_10) [Ring R] [SeminormedRing S] [NormOneClass S] [RingHomClass F R S] (f : F) :

                                              A ring homomorphism from a Ring R to a SeminormedRing S which induces the norm structure SeminormedRing.induced makes R satisfy ‖(1 : R)‖ = 1 whenever ‖(1 : S)‖ = 1.

                                              instance SubringClass.toNormedRing {S : Type u_5} {R : Type u_6} [SetLike S R] [NormedRing R] [SubringClass S R] (s : S) :
                                              NormedRing { x // x s }
                                              Equations
                                              instance SubringClass.toSeminormedCommRing {S : Type u_5} {R : Type u_6} [SetLike S R] [SeminormedCommRing R] [_h : SubringClass S R] (s : S) :
                                              SeminormedCommRing { x // x s }
                                              Equations
                                              instance SubringClass.toNormedCommRing {S : Type u_5} {R : Type u_6} [SetLike S R] [NormedCommRing R] [SubringClass S R] (s : S) :
                                              NormedCommRing { x // x s }
                                              Equations