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 : X} {r' : X} {s : 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 : X} {r' : X} (s : S) (s' : S) (rb : R) (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 : X} {r' : X} (s : 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 : X) (r' : X) (s : 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
@[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 : X} {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 : OreLocalization S X) (y : OreLocalization S X) (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 : OreLocalization S 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 : OreLocalization S X) (y : OreLocalization S X) :
x + y = y + x
Equations
@[irreducible]

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

Equations
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
Equations
  • OreLocalization.instAddGroupOreLocalization = AddGroup.mk
Equations