HepLean 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} [OreLocalization.OreSet S] (s : S) :
0 /ₒ s = 0
Equations
Equations
Equations
  • OreLocalization.instAdd = { add := OreLocalization.add }
theorem OreLocalization.oreDiv_add_oreDiv {R : Type u_1} [Monoid R] {S : Submonoid R} [OreLocalization.OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] {r r' : X} {s s' : S} :
r /ₒ s + r' /ₒ s' = (OreLocalization.oreDenom (↑s) s' r + OreLocalization.oreNum (↑s) s' r') /ₒ (OreLocalization.oreDenom (↑s) s' * s)
theorem OreLocalization.oreDiv_add_char' {R : Type u_1} [Monoid R] {S : Submonoid R} [OreLocalization.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} [OreLocalization.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} [OreLocalization.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} [OreLocalization.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} [OreLocalization.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} [OreLocalization.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} [OreLocalization.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} [OreLocalization.OreSet S] {X : Type u_2} [AddMonoid X] [DistribMulAction R X] (x : OreLocalization S X) :
    x + 0 = x
    Equations
    • OreLocalization.instAddMonoid = AddMonoid.mk OreLocalization.nsmul
    theorem OreLocalization.smul_zero {R : Type u_1} [Monoid R] {S : Submonoid R} [OreLocalization.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} [OreLocalization.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
    Equations
    instance OreLocalization.instDistribMulActionOfIsScalarTower {R : Type u_1} [Monoid R] {S : Submonoid R} [OreLocalization.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} [OreLocalization.OreSet S] {X : Type u_2} [AddCommMonoid X] [DistribMulAction R X] (x y : OreLocalization S X) :
    x + y = y + x
    Equations
    @[irreducible]

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

    Equations
    Instances For
      Equations
      • OreLocalization.instNegOreLocalization = { neg := OreLocalization.neg }
      @[simp]
      theorem OreLocalization.neg_def {R : Type u_1} [Monoid R] {S : Submonoid R} [OreLocalization.OreSet S] {X : Type u_2} [AddGroup X] [DistribMulAction R X] (r : X) (s : S) :
      -(r /ₒ s) = -r /ₒ s
      @[irreducible]

      zsmul of OreLocalization

      Equations
      • OreLocalization.zsmul = zsmulRec
      Instances For
        Equations
        • OreLocalization.instAddGroupOreLocalization = AddGroup.mk
        Equations