Documentation

Mathlib.Analysis.Normed.Unbundled.RingSeminorm

Seminorms and norms on rings #

This file defines seminorms and norms on rings. These definitions are useful when one needs to consider multiple (semi)norms on a given ring.

Main declarations #

For a ring R:

Notes #

The corresponding hom classes are defined in Mathlib/Analysis/Order/Hom/Basic.lean to be used by absolute values.

References #

Tags #

ring_seminorm, ring_norm

structure RingSeminorm (R : Type u_2) [NonUnitalNonAssocRing R] extends AddGroupSeminorm R :
Type u_2

A seminorm on a ring R is a function f : R → ℝ that preserves zero, takes nonnegative values, is subadditive and submultiplicative and such that f (-x) = f x for all x ∈ R.

Instances For
    structure RingNorm (R : Type u_2) [NonUnitalNonAssocRing R] extends RingSeminorm R, AddGroupNorm R :
    Type u_2

    A function f : R → ℝ is a norm on a (nonunital) ring if it is a seminorm and f x = 0 implies x = 0.

    Instances For
      structure MulRingSeminorm (R : Type u_2) [NonAssocRing R] extends AddGroupSeminorm R, R →*₀ :
      Type u_2

      A multiplicative seminorm on a ring R is a function f : R → ℝ that preserves zero and multiplication, takes nonnegative values, is subadditive and such that f (-x) = f x for all x.

      Instances For
        structure MulRingNorm (R : Type u_2) [NonAssocRing R] extends MulRingSeminorm R, AddGroupNorm R :
        Type u_2

        A multiplicative norm on a ring R is a multiplicative ring seminorm such that f x = 0 implies x = 0.

        It is recommended to use AbsoluteValue R ℝ instead (which works for Semiring R and is equivalent to MulRingNorm R for a nontrivial Ring R).

        Instances For
          Equations
            @[simp]
            theorem RingSeminorm.ext {R : Type u_1} [NonUnitalRing R] {p q : RingSeminorm R} :
            (∀ (x : R), p x = q x)p = q
            theorem RingSeminorm.ext_iff {R : Type u_1} [NonUnitalRing R] {p q : RingSeminorm R} :
            p = q ∀ (x : R), p x = q x
            Equations
              theorem RingSeminorm.eq_zero_iff {R : Type u_1} [NonUnitalRing R] {p : RingSeminorm R} :
              p = 0 ∀ (x : R), p x = 0
              theorem RingSeminorm.ne_zero_iff {R : Type u_1} [NonUnitalRing R] {p : RingSeminorm R} :
              p 0 ∃ (x : R), p x 0

              The trivial seminorm on a ring R is the RingSeminorm taking value 0 at 0 and 1 at every other element.

              Equations
                @[simp]
                theorem RingSeminorm.apply_one {R : Type u_1} [NonUnitalRing R] [DecidableEq R] (x : R) :
                1 x = if x = 0 then 0 else 1
                theorem RingSeminorm.seminorm_one_eq_one_iff_ne_zero {R : Type u_1} [Ring R] (p : RingSeminorm R) (hp : p 1 1) :
                p 1 = 1 p 0
                theorem RingSeminorm.exists_index_pow_le {R : Type u_1} [CommRing R] (p : RingSeminorm R) (hna : IsNonarchimedean p) (x y : R) (n : ) :
                m < n + 1, p ((x + y) ^ n) ^ (1 / n) (p (x ^ m) * p (y ^ (n - m))) ^ (1 / n)
                theorem map_pow_le_pow {F : Type u_2} {α : Type u_3} [Ring α] [FunLike F α ] [RingSeminormClass F α ] (f : F) (a : α) {n : } :
                n 0f (a ^ n) f a ^ n

                If f is a ring seminorm on a, then ∀ {n : ℕ}, n ≠ 0 → f (a ^ n) ≤ f a ^ n.

                theorem map_pow_le_pow' {F : Type u_2} {α : Type u_3} [Ring α] [FunLike F α ] [RingSeminormClass F α ] {f : F} (hf1 : f 1 1) (a : α) (n : ) :
                f (a ^ n) f a ^ n

                If f is a ring seminorm on a with f 1 ≤ 1, then ∀ (n : ℕ), f (a ^ n) ≤ f a ^ n.

                The norm of a NonUnitalSeminormedRing as a RingSeminorm.

                Equations
                  Instances For
                    theorem RingSeminorm.isBoundedUnder {R : Type u_1} [Ring R] (p : RingSeminorm R) (hp : p 1 1) {s : } (hs_le : ∀ (n : ), s n n) {x : R} (ψ : ) :
                    Filter.IsBoundedUnder LE.le Filter.atTop fun (n : ) => p (x ^ s (ψ n)) ^ (1 / (ψ n))

                    If f is a ring seminorm on R with f 1 ≤ 1 and s : ℕ → ℕ is bounded by n, then f (x ^ s (ψ n)) ^ (1 / (ψ n : ℝ)) is eventually bounded.

                    instance RingNorm.funLike {R : Type u_1} [NonUnitalRing R] :
                    Equations
                      theorem RingNorm.toFun_eq_coe {R : Type u_1} [NonUnitalRing R] (p : RingNorm R) :
                      p.toFun = p
                      theorem RingNorm.ext {R : Type u_1} [NonUnitalRing R] {p q : RingNorm R} :
                      (∀ (x : R), p x = q x)p = q
                      theorem RingNorm.ext_iff {R : Type u_1} [NonUnitalRing R] {p q : RingNorm R} :
                      p = q ∀ (x : R), p x = q x

                      The trivial norm on a ring R is the RingNorm taking value 0 at 0 and 1 at every other element.

                      Equations
                        @[simp]
                        theorem RingNorm.apply_one (R : Type u_1) [NonUnitalRing R] [DecidableEq R] (x : R) :
                        1 x = if x = 0 then 0 else 1
                        @[reducible, inline]
                        abbrev RingNorm.toNormedRing {R : Type u_1} [Ring R] (f : RingNorm R) :

                        The NormedRing structure on a ring R determined by a RingNorm

                        Equations
                          Instances For
                            theorem MulRingSeminorm.ext {R : Type u_1} [NonAssocRing R] {p q : MulRingSeminorm R} :
                            (∀ (x : R), p x = q x)p = q
                            theorem MulRingSeminorm.ext_iff {R : Type u_1} [NonAssocRing R] {p q : MulRingSeminorm R} :
                            p = q ∀ (x : R), p x = q x

                            The trivial seminorm on a ring R is the MulRingSeminorm taking value 0 at 0 and 1 at every other element.

                            Equations
                              @[simp]
                              theorem MulRingSeminorm.apply_one {R : Type u_1} [NonAssocRing R] [DecidableEq R] [NoZeroDivisors R] [Nontrivial R] (x : R) :
                              1 x = if x = 0 then 0 else 1
                              Equations
                                theorem MulRingNorm.toFun_eq_coe {R : Type u_1} [NonAssocRing R] (p : MulRingNorm R) :
                                p.toFun = p
                                theorem MulRingNorm.ext {R : Type u_1} [NonAssocRing R] {p q : MulRingNorm R} :
                                (∀ (x : R), p x = q x)p = q
                                theorem MulRingNorm.ext_iff {R : Type u_1} [NonAssocRing R] {p q : MulRingNorm R} :
                                p = q ∀ (x : R), p x = q x

                                The trivial norm on a ring R is the MulRingNorm taking value 0 at 0 and 1 at every other element.

                                Equations
                                  @[simp]
                                  theorem MulRingNorm.apply_one (R : Type u_1) [NonAssocRing R] [DecidableEq R] [NoZeroDivisors R] [Nontrivial R] (x : R) :
                                  1 x = if x = 0 then 0 else 1

                                  The equivalence of MulRingNorm R and AbsoluteValue R ℝ when R is a nontrivial ring.

                                  Equations
                                    Instances For
                                      def RingSeminorm.toRingNorm {K : Type u_2} [Field K] (f : RingSeminorm K) (hnt : f 0) :

                                      A nonzero ring seminorm on a field K is a ring norm.

                                      Equations
                                        Instances For

                                          The norm of a NonUnitalNormedRing as a RingNorm.

                                          Equations
                                            Instances For
                                              @[simp]
                                              theorem normRingNorm_toFun (R : Type u_2) [NonUnitalNormedRing R] (a✝ : R) :
                                              (normRingNorm R).toFun a✝ = a✝

                                              The seminorm on a SeminormedRing, as a RingSeminorm.

                                              Equations
                                                Instances For

                                                  The norm on a NormedRing, as a RingNorm.

                                                  Equations
                                                    Instances For
                                                      @[simp]
                                                      theorem NormedRing.toRingNorm_toFun (R : Type u_2) [NormedRing R] (a✝ : R) :
                                                      (toRingNorm R).toFun a✝ = a✝
                                                      @[simp]
                                                      theorem NormedRing.toRingNorm_apply (R : Type u_2) [NormedRing R] (x : R) :

                                                      The norm on a NormedField, as a MulRingNorm.

                                                      Equations
                                                        Instances For

                                                          The norm on a NormedField, as an AbsoluteValue.

                                                          Equations
                                                            Instances For