Documentation

Mathlib.Analysis.Normed.Ring.WithAbs

WithAbs #

WithAbs v is a type synonym for a semiring R which depends on an absolute value. The point of this is to allow the type class inference system to handle multiple sources of instances that arise from absolute values. See NumberTheory.NumberField.Completion for an example of this being used to define Archimedean completions of a number field.

Main definitions #

def WithAbs {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Semiring R] :
AbsoluteValue R SType u_1

Type synonym for a semiring which depends on an absolute value. This is a function that takes an absolute value on a semiring and returns the semiring. We use this to assign and infer instances on a semiring that depend on absolute values.

This is also helpful when dealing with several absolute values on the same semiring.

Equations
Instances For
    instance WithAbs.instInhabited {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Semiring R] (v : AbsoluteValue R S) :
    Equations
    def WithAbs.equiv {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Semiring R] (v : AbsoluteValue R S) :

    The canonical (semiring) equivalence between WithAbs v and R.

    Equations
    Instances For
      @[deprecated WithAbs.equiv (since := "2025-01-13")]
      def WithAbs.ringEquiv {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Semiring R] (v : AbsoluteValue R S) :

      WithAbs.equiv as a ring equivalence.

      Equations
      Instances For
        instance WithAbs.instRing {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Ring R] (v : AbsoluteValue R S) :
        Equations
        theorem WithAbs.norm_eq_abv {R : Type u_1} [Ring R] (v : AbsoluteValue R ) (x : WithAbs v) :
        x = v ((equiv v) x)
        instance WithAbs.instModule_left {R : Type u_1} {S : Type u_2} [OrderedSemiring S] {R' : Type u_3} [Semiring R] [AddCommGroup R'] [Module R R'] (v : AbsoluteValue R S) :
        Equations
        instance WithAbs.instModule_right {R : Type u_1} {S : Type u_2} [OrderedSemiring S] {R' : Type u_3} [Semiring R] [Semiring R'] [Module R R'] (v : AbsoluteValue R' S) :
        Equations
        instance WithAbs.instAlgebra_left {R : Type u_1} {S : Type u_2} [OrderedSemiring S] {R' : Type u_3} [CommSemiring R] [Semiring R'] [Algebra R R'] (v : AbsoluteValue R S) :
        Equations
        instance WithAbs.instAlgebra_right {R : Type u_1} {S : Type u_2} [OrderedSemiring S] {R' : Type u_3} [CommSemiring R] [Semiring R'] [Algebra R R'] (v : AbsoluteValue R' S) :
        Equations
        def WithAbs.algEquiv {R : Type u_1} {S : Type u_2} [OrderedSemiring S] {R' : Type u_3} [CommSemiring R] [Semiring R'] [Algebra R R'] (v : AbsoluteValue R' S) :

        The canonical algebra isomorphism from an R-algebra R' with an absolute value v to R'.

        Equations
        Instances For

          WithAbs.equiv preserves the ring structure. #

          These are deprecated as they are special cases of the generic map_zero etc. lemmas after WithAbs.equiv is defined to be a ring equivalence.

          @[simp, deprecated map_zero (since := "2025-01-13")]
          theorem WithAbs.equiv_zero {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Semiring R] (v : AbsoluteValue R S) :
          (equiv v) 0 = 0
          @[simp, deprecated map_zero (since := "2025-01-13")]
          theorem WithAbs.equiv_symm_zero {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Semiring R] (v : AbsoluteValue R S) :
          (equiv v).symm 0 = 0
          @[simp, deprecated map_add (since := "2025-01-13")]
          theorem WithAbs.equiv_add {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Semiring R] (v : AbsoluteValue R S) (x y : WithAbs v) :
          (equiv v) (x + y) = (equiv v) x + (equiv v) y
          @[simp, deprecated map_add (since := "2025-01-13")]
          theorem WithAbs.equiv_symm_add {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Semiring R] (v : AbsoluteValue R S) (r s : R) :
          (equiv v).symm (r + s) = (equiv v).symm r + (equiv v).symm s
          @[simp, deprecated map_mul (since := "2025-01-13")]
          theorem WithAbs.equiv_mul {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Semiring R] (v : AbsoluteValue R S) (x y : WithAbs v) :
          (equiv v) (x * y) = (equiv v) x * (equiv v) y
          @[simp, deprecated map_mul (since := "2025-01-13")]
          theorem WithAbs.equiv_symm_mul {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Semiring R] (v : AbsoluteValue R S) (x y : WithAbs v) :
          (equiv v).symm (x * y) = (equiv v).symm x * (equiv v).symm y
          @[simp, deprecated map_sub (since := "2025-01-13")]
          theorem WithAbs.equiv_sub {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Ring R] (v : AbsoluteValue R S) (x y : WithAbs v) :
          (equiv v) (x - y) = (equiv v) x - (equiv v) y
          @[simp, deprecated map_sub (since := "2025-01-13")]
          theorem WithAbs.equiv_symm_sub {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Ring R] (v : AbsoluteValue R S) (r s : R) :
          (equiv v).symm (r - s) = (equiv v).symm r - (equiv v).symm s
          @[simp, deprecated map_neg (since := "2025-01-13")]
          theorem WithAbs.equiv_neg {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Ring R] (v : AbsoluteValue R S) (x : WithAbs v) :
          (equiv v) (-x) = -(equiv v) x
          @[simp, deprecated map_neg (since := "2025-01-13")]
          theorem WithAbs.equiv_symm_neg {R : Type u_1} {S : Type u_2} [OrderedSemiring S] [Ring R] (v : AbsoluteValue R S) (r : R) :
          (equiv v).symm (-r) = -(equiv v).symm r

          The completion of a field at an absolute value. #

          theorem WithAbs.isometry_of_comp {K : Type u_3} [Field K] {v : AbsoluteValue K } {L : Type u_4} [NormedField L] {f : WithAbs v →+* L} (h : ∀ (x : WithAbs v), f x = v x) :

          If the absolute value v factors through an embedding f into a normed field, then f is an isometry.

          If the absolute value v factors through an embedding f into a normed field, then the pseudo metric space associated to the absolute value is the same as the pseudo metric space induced by f.

          If the absolute value v factors through an embedding f into a normed field, then the uniform structure associated to the absolute value is the same as the uniform structure induced by f.

          theorem WithAbs.isUniformInducing_of_comp {K : Type u_3} [Field K] {v : AbsoluteValue K } {L : Type u_4} [NormedField L] {f : WithAbs v →+* L} (h : ∀ (x : WithAbs v), f x = v x) :

          If the absolute value v factors through an embedding f into a normed field, then f is uniform inducing.

          @[reducible, inline]
          abbrev AbsoluteValue.Completion {K : Type u_3} [Field K] (v : AbsoluteValue K ) :
          Type u_3

          The completion of a field with respect to a real absolute value.

          Equations
          Instances For
            @[deprecated AbsoluteValue.Completion (since := "2024-12-01")]
            def AbsoluteValue.completion {K : Type u_3} [Field K] (v : AbsoluteValue K ) :
            Type u_3

            Alias of AbsoluteValue.Completion.


            The completion of a field with respect to a real absolute value.

            Equations
            Instances For
              @[reducible, inline]
              abbrev AbsoluteValue.Completion.extensionEmbedding_of_comp {K : Type u_3} [Field K] {v : AbsoluteValue K } {L : Type u_4} [NormedField L] [CompleteSpace L] {f : WithAbs v →+* L} (h : ∀ (x : WithAbs v), f x = v x) :

              If the absolute value of a normed field factors through an embedding into another normed field L, then we can extend that embedding to an embedding on the completion v.Completion →+* L.

              Equations
              Instances For
                theorem AbsoluteValue.Completion.extensionEmbedding_of_comp_coe {K : Type u_3} [Field K] {v : AbsoluteValue K } {L : Type u_4} [NormedField L] [CompleteSpace L] {f : WithAbs v →+* L} (h : ∀ (x : WithAbs v), f x = v x) (x : K) :

                If the absolute value of a normed field factors through an embedding into another normed field, then the extended embedding v.Completion →+* L preserves distances.

                If the absolute value of a normed field factors through an embedding into another normed field, then the extended embedding v.Completion →+* L is an isometry.

                If the absolute value of a normed field factors through an embedding into another normed field, then the extended embedding v.Completion →+* L is a closed embedding.

                If the absolute value of a normed field factors through an embedding into another normed field that is locally compact, then the completion of the first normed field is also locally compact.