Documentation

Mathlib.RingTheory.OreLocalization.Basic

Localization over left Ore sets. #

This file proves results on the localization of rings (monoids with zeros) over a left Ore set.

References #

Tags #

localization, Ore, non-commutative

@[simp]
theorem OreLocalization.zero_oreDiv' {R : Type u_1} [MonoidWithZero R] {S : Submonoid R} [OreSet S] (s : S) :
0 /ₒ s = 0
instance OreLocalization.instAdd {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] :
Equations
    theorem OreLocalization.oreDiv_add_oreDiv {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] {r r' : X} {s s' : S} :
    r /ₒ s + r' /ₒ s' = (oreDenom (↑s) s' r + oreNum (↑s) s' r') /ₒ (oreDenom (↑s) s' * s)
    theorem OreLocalization.oreDiv_add_char' {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] {r r' : X} (s s' : S) (rb sb : R) (h : sb * s = rb * s') (h' : sb * s S) :
    r /ₒ s + r' /ₒ s' = (sb r + rb r') /ₒ sb * s, h'
    theorem OreLocalization.oreDiv_add_char {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] {r r' : X} (s s' : S) (rb : R) (sb : S) (h : sb * s = rb * s') :
    r /ₒ s + r' /ₒ s' = (sb r + rb r') /ₒ (sb * s)

    A characterization of the addition on the Ore localizaion, allowing for arbitrary Ore numerator and Ore denominator.

    def OreLocalization.oreDivAddChar' {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] (r r' : X) (s s' : S) :
    (r'' : R) ×' (s'' : S) ×' s'' * s = r'' * s' r /ₒ s + r' /ₒ s' = (s'' r + r'' r') /ₒ (s'' * s)

    Another characterization of the addition on the Ore localization, bundling up all witnesses and conditions into a sigma type.

    Equations
      Instances For
        @[simp]
        theorem OreLocalization.add_oreDiv {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] {r r' : X} {s : S} :
        r /ₒ s + r' /ₒ s = (r + r') /ₒ s
        theorem OreLocalization.add_assoc {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] (x y z : OreLocalization S X) :
        x + y + z = x + (y + z)
        @[simp]
        theorem OreLocalization.zero_oreDiv {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] (s : S) :
        0 /ₒ s = 0
        theorem OreLocalization.zero_add {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] (x : OreLocalization S X) :
        0 + x = x
        theorem OreLocalization.add_zero {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] (x : OreLocalization S X) :
        x + 0 = x
        Equations
          theorem OreLocalization.smul_zero {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] (x : OreLocalization S R) :
          x 0 = 0
          theorem OreLocalization.smul_add {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] (z : OreLocalization S R) (x y : OreLocalization S X) :
          z (x + y) = z x + z y
          instance OreLocalization.instDistribMulActionOfIsScalarTower {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] {R₀ : Type u_3} [Monoid R₀] [MulAction R₀ X] [MulAction R₀ R] [IsScalarTower R₀ R X] [IsScalarTower R₀ R R] :
          Equations
            theorem OreLocalization.add_comm {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddCommMonoid X] [DistribMulAction R X] (x y : OreLocalization S X) :
            x + y = y + x
            @[irreducible]
            def OreLocalization.neg {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddGroup X] [DistribMulAction R X] :

            Negation on the Ore localization is defined via negation on the numerator.

            Equations
              Instances For
                Equations
                  @[simp]
                  theorem OreLocalization.neg_def {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddGroup X] [DistribMulAction R X] (r : X) (s : S) :
                  -(r /ₒ s) = -r /ₒ s
                  theorem OreLocalization.neg_add_cancel {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddGroup X] [DistribMulAction R X] (x : OreLocalization S X) :
                  -x + x = 0
                  @[irreducible]
                  def OreLocalization.zsmul {R : Type u_1} [Monoid R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddGroup X] [DistribMulAction R X] :

                  zsmul of OreLocalization

                  Equations
                    Instances For