Documentation

Mathlib.RingTheory.OreLocalization.Ring

Module and Ring instances of Ore Localizations #

The Monoid and DistribMulAction instances and additive versions are provided in Mathlib/RingTheory/OreLocalization/Basic.lean.

theorem OreLocalization.zero_smul {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddCommMonoid X] [Module R X] (x : OreLocalization S X) :
0 โ€ข x = 0
theorem OreLocalization.add_smul {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddCommMonoid X] [Module R X] (y z : OreLocalization S R) (x : OreLocalization S X) :
(y + z) โ€ข x = y โ€ข x + z โ€ข x
theorem OreLocalization.left_distrib {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] (x y z : OreLocalization S R) :
x * (y + z) = x * y + x * z
theorem OreLocalization.right_distrib {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] (x y z : OreLocalization S R) :
(x + y) * z = x * z + y * z
@[implicit_reducible]
@[implicit_reducible]
instance OreLocalization.instModule {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddCommMonoid X] [Module R X] :
@[implicit_reducible]
instance OreLocalization.instModuleOfIsScalarTower {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddCommMonoid X] [Module R X] {Rโ‚€ : Type u_3} [Semiring Rโ‚€] [Module Rโ‚€ X] [Module Rโ‚€ R] [IsScalarTower Rโ‚€ R X] [IsScalarTower Rโ‚€ R R] :
Module Rโ‚€ (OreLocalization S X)
@[simp]
theorem OreLocalization.nsmul_eq_nsmul {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddCommMonoid X] [Module R X] (n : โ„•) (x : OreLocalization S X) :
n โ€ข x = n โ€ข x
@[reducible, inline]

The ring homomorphism from R to R[Sโปยน], mapping r : R to the fraction r /โ‚’ 1.

Instances For
    @[implicit_reducible]
    instance OreLocalization.instAlgebra {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] {Rโ‚€ : Type u_3} [CommSemiring Rโ‚€] [Algebra Rโ‚€ R] :
    Algebra Rโ‚€ (OreLocalization S R)
    def OreLocalization.universalHom {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] {T : Type u_3} [Semiring T] (f : R โ†’+* T) (fS : โ†ฅS โ†’* Tหฃ) (hf : โˆ€ (s : โ†ฅS), f โ†‘s = โ†‘(fS s)) :

    The universal lift from a ring homomorphism f : R โ†’+* T, which maps elements in S to units of T, to a ring homomorphism R[Sโปยน] โ†’+* T. This extends the construction on monoids.

    Instances For
      theorem OreLocalization.universalHom_apply {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] {T : Type u_3} [Semiring T] (f : R โ†’+* T) (fS : โ†ฅS โ†’* Tหฃ) (hf : โˆ€ (s : โ†ฅS), f โ†‘s = โ†‘(fS s)) {r : R} {s : โ†ฅS} :
      (universalHom f fS hf) (r /โ‚’ s) = โ†‘(fS s)โปยน * f r
      theorem OreLocalization.universalHom_commutes {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] {T : Type u_3} [Semiring T] (f : R โ†’+* T) (fS : โ†ฅS โ†’* Tหฃ) (hf : โˆ€ (s : โ†ฅS), f โ†‘s = โ†‘(fS s)) {r : R} :
      (universalHom f fS hf) (numeratorHom r) = f r
      theorem OreLocalization.universalHom_unique {R : Type u_1} [Semiring R] {S : Submonoid R} [OreSet S] {T : Type u_3} [Semiring T] (f : R โ†’+* T) (fS : โ†ฅS โ†’* Tหฃ) (hf : โˆ€ (s : โ†ฅS), f โ†‘s = โ†‘(fS s)) (ฯ† : OreLocalization S R โ†’+* T) (huniv : โˆ€ (r : R), ฯ† (numeratorHom r) = f r) :
      ฯ† = universalHom f fS hf
      @[implicit_reducible]
      instance OreLocalization.instRing {R : Type u_1} [Ring R] {S : Submonoid R} [OreSet S] :
      @[simp]
      theorem OreLocalization.zsmul_eq_zsmul {R : Type u_1} [Ring R] {S : Submonoid R} [OreSet S] {X : Type u_2} [AddCommGroup X] [Module R X] (n : โ„ค) (x : OreLocalization S X) :
      n โ€ข x = n โ€ข x
      theorem OreLocalization.numeratorHom_inj {R : Type u_1} [Ring R] {S : Submonoid R} [OreSet S] (hS : S โ‰ค nonZeroDivisorsLeft R) :
      Function.Injective โ‡‘numeratorHom
      @[implicit_reducible]