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.

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