Documentation

Mathlib.RingTheory.GradedAlgebra.HomogeneousLocalization

Homogeneous Localization #

Notation #

Main definitions and results #

This file constructs the subring of Aโ‚“ where the numerator and denominator have the same grading, i.e. {a/b โˆˆ Aโ‚“ | โˆƒ (i : ฮน), a โˆˆ ๐’œแตข โˆง b โˆˆ ๐’œแตข}.

However NumDenSameDeg ๐’œ x cannot have a ring structure for many reasons, for example if c is a NumDenSameDeg, then generally, c + (-c) is not necessarily 0 for degree reasons --- 0 is considered to have grade zero (see deg_zero) but c + (-c) has the same degree as c. To circumvent this, we quotient NumDenSameDeg ๐’œ x by the kernel of c โ†ฆ c.num / c.den.

References #

structure HomogeneousLocalization.NumDenSameDeg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) (x : Submonoid A) :
Type (max u_1 u_3)

Let x be a submonoid of A, then NumDenSameDeg ๐’œ x is a structure with a numerator and a denominator with same grading such that the denominator is contained in x.

  • deg : ฮน
  • num : โ†ฅ(๐’œ self.deg)
  • den : โ†ฅ(๐’œ self.deg)
  • den_mem : โ†‘self.den โˆˆ x
theorem HomogeneousLocalization.NumDenSameDeg.ext {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) {c1 c2 : HomogeneousLocalization.NumDenSameDeg ๐’œ x} (hdeg : c1.deg = c2.deg) (hnum : โ†‘c1.num = โ†‘c2.num) (hden : โ†‘c1.den = โ†‘c2.den) :
c1 = c2
instance HomogeneousLocalization.NumDenSameDeg.instNeg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) :
Equations
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.deg_neg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) (c : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
(-c).deg = c.deg
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.num_neg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) (c : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
โ†‘(-c).num = -โ†‘c.num
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.den_neg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) (c : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
โ†‘(-c).den = โ†‘c.den
instance HomogeneousLocalization.NumDenSameDeg.instSMul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) {ฮฑ : Type u_4} [SMul ฮฑ R] [SMul ฮฑ A] [IsScalarTower ฮฑ R A] :
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.deg_smul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) {ฮฑ : Type u_4} [SMul ฮฑ R] [SMul ฮฑ A] [IsScalarTower ฮฑ R A] (c : HomogeneousLocalization.NumDenSameDeg ๐’œ x) (m : ฮฑ) :
(m โ€ข c).deg = c.deg
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.num_smul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) {ฮฑ : Type u_4} [SMul ฮฑ R] [SMul ฮฑ A] [IsScalarTower ฮฑ R A] (c : HomogeneousLocalization.NumDenSameDeg ๐’œ x) (m : ฮฑ) :
โ†‘(m โ€ข c).num = m โ€ข โ†‘c.num
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.den_smul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) {ฮฑ : Type u_4} [SMul ฮฑ R] [SMul ฮฑ A] [IsScalarTower ฮฑ R A] (c : HomogeneousLocalization.NumDenSameDeg ๐’œ x) (m : ฮฑ) :
โ†‘(m โ€ข c).den = โ†‘c.den
instance HomogeneousLocalization.NumDenSameDeg.instOne {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.deg_one {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.num_one {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.den_one {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
instance HomogeneousLocalization.NumDenSameDeg.instZero {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.deg_zero {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.num_zero {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.den_zero {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
instance HomogeneousLocalization.NumDenSameDeg.instMul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.deg_mul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (c1 c2 : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
(c1 * c2).deg = c1.deg + c2.deg
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.num_mul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (c1 c2 : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
โ†‘(c1 * c2).num = โ†‘c1.num * โ†‘c2.num
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.den_mul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (c1 c2 : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
โ†‘(c1 * c2).den = โ†‘c1.den * โ†‘c2.den
instance HomogeneousLocalization.NumDenSameDeg.instAdd {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.deg_add {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (c1 c2 : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
(c1 + c2).deg = c1.deg + c2.deg
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.num_add {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (c1 c2 : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
โ†‘(c1 + c2).num = โ†‘c1.den * โ†‘c2.num + โ†‘c2.den * โ†‘c1.num
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.den_add {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (c1 c2 : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
โ†‘(c1 + c2).den = โ†‘c1.den * โ†‘c2.den
instance HomogeneousLocalization.NumDenSameDeg.instCommMonoid {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
instance HomogeneousLocalization.NumDenSameDeg.instPowNat {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.deg_pow {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (c : HomogeneousLocalization.NumDenSameDeg ๐’œ x) (n : โ„•) :
(c ^ n).deg = n โ€ข c.deg
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.num_pow {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (c : HomogeneousLocalization.NumDenSameDeg ๐’œ x) (n : โ„•) :
โ†‘(c ^ n).num = โ†‘c.num ^ n
@[simp]
theorem HomogeneousLocalization.NumDenSameDeg.den_pow {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (c : HomogeneousLocalization.NumDenSameDeg ๐’œ x) (n : โ„•) :
โ†‘(c ^ n).den = โ†‘c.den ^ n
def HomogeneousLocalization.NumDenSameDeg.embedding {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) (x : Submonoid A) (p : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :

For x : prime ideal of A and any p : NumDenSameDeg ๐’œ x, or equivalent a numerator and a denominator of the same degree, we get an element p.num / p.den of Aโ‚“.

Equations
def HomogeneousLocalization {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) (x : Submonoid A) :
Type (max u_1 u_3)

For x : prime ideal of A, HomogeneousLocalization ๐’œ x is NumDenSameDeg ๐’œ x modulo the kernel of embedding ๐’œ x. This is essentially the subring of Aโ‚“ where the numerator and denominator share the same grading.

Equations
@[reducible, inline]
abbrev HomogeneousLocalization.mk {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (y : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :

Construct an element of HomogeneousLocalization ๐’œ x from a homogeneous fraction.

Equations
theorem HomogeneousLocalization.mk_surjective {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} :
Function.Surjective HomogeneousLocalization.mk
def HomogeneousLocalization.val {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (y : HomogeneousLocalization ๐’œ x) :

View an element of HomogeneousLocalization ๐’œ x as an element of Aโ‚“ by forgetting that the numerator and denominator are of the same grading.

Equations
@[simp]
theorem HomogeneousLocalization.val_mk {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (i : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
(HomogeneousLocalization.mk i).val = Localization.mk โ†‘i.num โŸจโ†‘i.den, โ‹ฏโŸฉ
theorem HomogeneousLocalization.val_injective {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) :
Function.Injective HomogeneousLocalization.val
theorem HomogeneousLocalization.subsingleton {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) {x : Submonoid A} (hx : 0 โˆˆ x) :
instance HomogeneousLocalization.instSMul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) {ฮฑ : Type u_4} [SMul ฮฑ R] [SMul ฮฑ A] [IsScalarTower ฮฑ R A] [IsScalarTower ฮฑ A A] :
SMul ฮฑ (HomogeneousLocalization ๐’œ x)
Equations
@[simp]
theorem HomogeneousLocalization.mk_smul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) {ฮฑ : Type u_4} [SMul ฮฑ R] [SMul ฮฑ A] [IsScalarTower ฮฑ R A] [IsScalarTower ฮฑ A A] (i : HomogeneousLocalization.NumDenSameDeg ๐’œ x) (m : ฮฑ) :
@[simp]
theorem HomogeneousLocalization.val_smul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) {ฮฑ : Type u_4} [SMul ฮฑ R] [SMul ฮฑ A] [IsScalarTower ฮฑ R A] [IsScalarTower ฮฑ A A] (n : ฮฑ) (y : HomogeneousLocalization ๐’œ x) :
(n โ€ข y).val = n โ€ข y.val
theorem HomogeneousLocalization.val_nsmul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) (n : โ„•) (y : HomogeneousLocalization ๐’œ x) :
(n โ€ข y).val = n โ€ข y.val
theorem HomogeneousLocalization.val_zsmul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) (n : โ„ค) (y : HomogeneousLocalization ๐’œ x) :
(n โ€ข y).val = n โ€ข y.val
instance HomogeneousLocalization.instNeg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) :
Equations
@[simp]
theorem HomogeneousLocalization.mk_neg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) (i : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
@[simp]
theorem HomogeneousLocalization.val_neg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (y : HomogeneousLocalization ๐’œ x) :
(-y).val = -y.val
instance HomogeneousLocalization.hasPow {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
@[simp]
theorem HomogeneousLocalization.mk_pow {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (i : HomogeneousLocalization.NumDenSameDeg ๐’œ x) (n : โ„•) :
instance HomogeneousLocalization.instAdd {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
@[simp]
theorem HomogeneousLocalization.mk_add {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (i j : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
instance HomogeneousLocalization.instSub {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
instance HomogeneousLocalization.instMul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
@[simp]
theorem HomogeneousLocalization.mk_mul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (i j : HomogeneousLocalization.NumDenSameDeg ๐’œ x) :
instance HomogeneousLocalization.instOne {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
@[simp]
theorem HomogeneousLocalization.mk_one {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
instance HomogeneousLocalization.instZero {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
@[simp]
theorem HomogeneousLocalization.mk_zero {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
theorem HomogeneousLocalization.zero_eq {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
theorem HomogeneousLocalization.one_eq {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
@[simp]
theorem HomogeneousLocalization.val_zero {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
@[simp]
theorem HomogeneousLocalization.val_one {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
@[simp]
theorem HomogeneousLocalization.val_add {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (y1 y2 : HomogeneousLocalization ๐’œ x) :
(y1 + y2).val = y1.val + y2.val
@[simp]
theorem HomogeneousLocalization.val_mul {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (y1 y2 : HomogeneousLocalization ๐’œ x) :
(y1 * y2).val = y1.val * y2.val
@[simp]
theorem HomogeneousLocalization.val_sub {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (y1 y2 : HomogeneousLocalization ๐’œ x) :
(y1 - y2).val = y1.val - y2.val
@[simp]
theorem HomogeneousLocalization.val_pow {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (y : HomogeneousLocalization ๐’œ x) (n : โ„•) :
(y ^ n).val = y.val ^ n
instance HomogeneousLocalization.instNatCast {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
  • HomogeneousLocalization.instNatCast = { natCast := Nat.unaryCast }
instance HomogeneousLocalization.instIntCast {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
  • HomogeneousLocalization.instIntCast = { intCast := Int.castDef }
@[simp]
theorem HomogeneousLocalization.val_natCast {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (n : โ„•) :
(โ†‘n).val = โ†‘n
@[simp]
theorem HomogeneousLocalization.val_intCast {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (n : โ„ค) :
(โ†‘n).val = โ†‘n
instance HomogeneousLocalization.homogenousLocalizationCommRing {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
  • HomogeneousLocalization.homogenousLocalizationCommRing = Function.Injective.commRing HomogeneousLocalization.val โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ โ‹ฏ
instance HomogeneousLocalization.homogeneousLocalizationAlgebra {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
Equations
  • HomogeneousLocalization.homogeneousLocalizationAlgebra = Algebra.mk { toFun := HomogeneousLocalization.val, map_one' := โ‹ฏ, map_mul' := โ‹ฏ, map_zero' := โ‹ฏ, map_add' := โ‹ฏ } โ‹ฏ โ‹ฏ
@[simp]
theorem HomogeneousLocalization.algebraMap_apply {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (y : HomogeneousLocalization ๐’œ x) :
(algebraMap (HomogeneousLocalization ๐’œ x) (Localization x)) y = y.val
theorem HomogeneousLocalization.mk_eq_zero_of_num {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (f : HomogeneousLocalization.NumDenSameDeg ๐’œ x) (h : f.num = 0) :
theorem HomogeneousLocalization.mk_eq_zero_of_den {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (f : HomogeneousLocalization.NumDenSameDeg ๐’œ x) (h : f.den = 0) :
def HomogeneousLocalization.fromZeroRingHom {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) (x : Submonoid A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] :
โ†ฅ(๐’œ 0) โ†’+* HomogeneousLocalization ๐’œ x

The map from ๐’œ 0 to the degree 0 part of ๐’œโ‚“ sending f โ†ฆ f/1.

Equations
  • One or more equations did not get rendered due to their size.
def HomogeneousLocalization.num {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (f : HomogeneousLocalization ๐’œ x) :
A

Numerator of an element in HomogeneousLocalization x.

Equations
def HomogeneousLocalization.den {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (f : HomogeneousLocalization ๐’œ x) :
A

Denominator of an element in HomogeneousLocalization x.

Equations
def HomogeneousLocalization.deg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (f : HomogeneousLocalization ๐’œ x) :
ฮน

For an element in HomogeneousLocalization x, degree is the natural number i such that ๐’œ i contains both numerator and denominator.

Equations
theorem HomogeneousLocalization.den_mem {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (f : HomogeneousLocalization ๐’œ x) :
f.den โˆˆ x
theorem HomogeneousLocalization.num_mem_deg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (f : HomogeneousLocalization ๐’œ x) :
f.num โˆˆ ๐’œ f.deg
theorem HomogeneousLocalization.den_mem_deg {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (f : HomogeneousLocalization ๐’œ x) :
f.den โˆˆ ๐’œ f.deg
theorem HomogeneousLocalization.eq_num_div_den {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (f : HomogeneousLocalization ๐’œ x) :
f.val = Localization.mk f.num โŸจf.den, โ‹ฏโŸฉ
theorem HomogeneousLocalization.den_smul_val {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (f : HomogeneousLocalization ๐’œ x) :
f.den โ€ข f.val = (algebraMap A (Localization x)) f.num
theorem HomogeneousLocalization.ext_iff_val {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {x : Submonoid A} (f g : HomogeneousLocalization ๐’œ x) :
f = g โ†” f.val = g.val
@[reducible, inline]
abbrev HomogeneousLocalization.AtPrime {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) (๐”ญ : Ideal A) [๐”ญ.IsPrime] :
Type (max u_1 u_3)

Localizing a ring homogeneously at a prime ideal.

Equations
theorem HomogeneousLocalization.isUnit_iff_isUnit_val {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (๐”ญ : Ideal A) [๐”ญ.IsPrime] (f : HomogeneousLocalization.AtPrime ๐’œ ๐”ญ) :
instance HomogeneousLocalization.instNontrivialAtPrime {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (๐”ญ : Ideal A) [๐”ญ.IsPrime] :
Equations
  • โ‹ฏ = โ‹ฏ
instance HomogeneousLocalization.isLocalRing {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] (๐”ญ : Ideal A) [๐”ญ.IsPrime] :
Equations
  • โ‹ฏ = โ‹ฏ
@[reducible, inline]
abbrev HomogeneousLocalization.Away {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) (f : A) :
Type (max u_1 u_3)

Localizing away from powers of f homogeneously.

Equations
theorem HomogeneousLocalization.Away.eventually_smul_mem {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] {๐’œ : ฮน โ†’ Submodule R A} {f : A} [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] {m : ฮน} (hf : f โˆˆ ๐’œ m) (z : HomogeneousLocalization.Away ๐’œ f) :
โˆ€แถ  (n : โ„•) in Filter.atTop, f ^ n โ€ข HomogeneousLocalization.val z โˆˆ โ‡‘(algebraMap A (Localization (Submonoid.powers f))) '' โ†‘(๐’œ (n โ€ข m))
def HomogeneousLocalization.map {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] {B : Type u_4} [CommRing B] [Algebra R B] (โ„ฌ : ฮน โ†’ Submodule R B) [GradedAlgebra โ„ฌ] {P : Submonoid A} {Q : Submonoid B} (g : A โ†’+* B) (comap_le : P โ‰ค Submonoid.comap g Q) (hg : โˆ€ (i : ฮน), โˆ€ a โˆˆ ๐’œ i, g a โˆˆ โ„ฌ i) :

Let A, B be two graded algebras with the same indexing set and g : A โ†’ B be a graded algebra homomorphism (i.e. g(Aโ‚˜) โІ Bโ‚˜). Let P โ‰ค A be a submonoid and Q โ‰ค B be a submonoid such that P โ‰ค gโปยน Q, then g induce a map from the homogeneous localizations Aโฐ_P to the homogeneous localizations Bโฐ_Q.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]
abbrev HomogeneousLocalization.mapId {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] {P Q : Submonoid A} (h : P โ‰ค Q) :

Let A be a graded algebra and P โ‰ค Q be two submonoids, then the homogeneous localization of A at P embeds into the homogeneous localization of A at Q.

Equations
theorem HomogeneousLocalization.map_mk {ฮน : Type u_1} {R : Type u_2} {A : Type u_3} [CommRing R] [CommRing A] [Algebra R A] (๐’œ : ฮน โ†’ Submodule R A) [AddCommMonoid ฮน] [DecidableEq ฮน] [GradedAlgebra ๐’œ] {B : Type u_4} [CommRing B] [Algebra R B] (โ„ฌ : ฮน โ†’ Submodule R B) [GradedAlgebra โ„ฌ] {P : Submonoid A} {Q : Submonoid B} (g : A โ†’+* B) (comap_le : P โ‰ค Submonoid.comap g Q) (hg : โˆ€ (i : ฮน), โˆ€ a โˆˆ ๐’œ i, g a โˆˆ โ„ฌ i) (x : HomogeneousLocalization.NumDenSameDeg ๐’œ P) :
(HomogeneousLocalization.map ๐’œ โ„ฌ g comap_le hg) (HomogeneousLocalization.mk x) = HomogeneousLocalization.mk { deg := x.deg, num := โŸจg โ†‘x.num, โ‹ฏโŸฉ, den := โŸจg โ†‘x.den, โ‹ฏโŸฉ, den_mem := โ‹ฏ }