Homogeneous Localization #
Notation #
ι
is a commutative monoid;R
is a commutative semiring;A
is a commutative ring and anR
-algebra;𝒜 : ι → Submodule R A
is the grading ofA
;x : Submonoid A
is a submonoid
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 ∈ 𝒜ᵢ}
.
HomogeneousLocalization.NumDenSameDeg
: a structure with a numerator and denominator field where they are required to have the same grading.
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
.
HomogeneousLocalization.NumDenSameDeg.embedding
: forx : Submonoid A
and anyc : NumDenSameDeg 𝒜 x
, or equivalent a numerator and a denominator of the same degree, we get an elementc.num / c.den
ofAₓ
.HomogeneousLocalization
:NumDenSameDeg 𝒜 x
quotiented by kernel ofembedding 𝒜 x
.HomogeneousLocalization.val
: iff : HomogeneousLocalization 𝒜 x
, thenf.val
is an element ofAₓ
. In another word, one can viewHomogeneousLocalization 𝒜 x
as a subring ofAₓ
throughHomogeneousLocalization.val
.HomogeneousLocalization.num
: iff : HomogeneousLocalization 𝒜 x
, thenf.num : A
is the numerator off
.HomogeneousLocalization.den
: iff : HomogeneousLocalization 𝒜 x
, thenf.den : A
is the denominator off
.HomogeneousLocalization.deg
: iff : HomogeneousLocalization 𝒜 x
, thenf.deg : ι
is the degree off
such thatf.num ∈ 𝒜 f.deg
andf.den ∈ 𝒜 f.deg
(seeHomogeneousLocalization.num_mem_deg
andHomogeneousLocalization.den_mem_deg
).HomogeneousLocalization.num_mem_deg
: iff : HomogeneousLocalization 𝒜 x
, thenf.num_mem_deg
is a proof thatf.num ∈ 𝒜 f.deg
.HomogeneousLocalization.den_mem_deg
: iff : HomogeneousLocalization 𝒜 x
, thenf.den_mem_deg
is a proof thatf.den ∈ 𝒜 f.deg
.HomogeneousLocalization.eq_num_div_den
: iff : HomogeneousLocalization 𝒜 x
, thenf.val : Aₓ
is equal tof.num / f.den
.HomogeneousLocalization.isLocalRing
:HomogeneousLocalization 𝒜 x
is a local ring whenx
is the complement of some prime ideals.HomogeneousLocalization.map
: LetA
andB
be two graded rings andg : A → B
a grading preserving ring map. IfP ≤ A
andQ ≤ B
are submonoids such thatP ≤ g⁻¹(Q)
, theng
induces a ring map between the homogeneous localization ofA
atP
and the homogeneous localization ofB
atQ
.
References #
- [Robin Hartshorne, Algebraic Geometry][Har77]
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
Instances For
Equations
- HomogeneousLocalization.NumDenSameDeg.instNeg x = { neg := fun (c : HomogeneousLocalization.NumDenSameDeg 𝒜 x) => { deg := c.deg, num := ⟨-↑c.num, ⋯⟩, den := c.den, den_mem := ⋯ } }
Equations
- One or more equations did not get rendered due to their size.
Equations
- HomogeneousLocalization.NumDenSameDeg.instOne x = { one := { deg := 0, num := ⟨1, ⋯⟩, den := ⟨1, ⋯⟩, den_mem := ⋯ } }
Equations
- HomogeneousLocalization.NumDenSameDeg.instZero x = { zero := { deg := 0, num := 0, den := ⟨1, ⋯⟩, den_mem := ⋯ } }
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
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
- HomogeneousLocalization.NumDenSameDeg.embedding 𝒜 x p = Localization.mk ↑p.num ⟨↑p.den, ⋯⟩
Instances For
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
Instances For
Construct an element of HomogeneousLocalization 𝒜 x
from a homogeneous fraction.
Equations
Instances For
View an element of HomogeneousLocalization 𝒜 x
as an element of Aₓ
by forgetting that the
numerator and denominator are of the same grading.
Equations
- y.val = Quotient.liftOn' y (HomogeneousLocalization.NumDenSameDeg.embedding 𝒜 x) ⋯
Instances For
Equations
- HomogeneousLocalization.instSMul x = { smul := fun (m : α) => Quotient.map' (fun (x_1 : HomogeneousLocalization.NumDenSameDeg 𝒜 x) => m • x_1) ⋯ }
Equations
- HomogeneousLocalization.instNeg x = { neg := Quotient.map' Neg.neg ⋯ }
Equations
- HomogeneousLocalization.hasPow x = { pow := fun (z : HomogeneousLocalization 𝒜 x) (n : ℕ) => Quotient.map' (fun (x_1 : HomogeneousLocalization.NumDenSameDeg 𝒜 x) => x_1 ^ n) ⋯ z }
Equations
- HomogeneousLocalization.instAdd x = { add := Quotient.map₂ (fun (x1 x2 : HomogeneousLocalization.NumDenSameDeg 𝒜 x) => x1 + x2) ⋯ }
Equations
- HomogeneousLocalization.instSub x = { sub := fun (z1 z2 : HomogeneousLocalization 𝒜 x) => z1 + -z2 }
Equations
- HomogeneousLocalization.instMul x = { mul := Quotient.map₂ (fun (x1 x2 : HomogeneousLocalization.NumDenSameDeg 𝒜 x) => x1 * x2) ⋯ }
Equations
- HomogeneousLocalization.instOne x = { one := Quotient.mk'' 1 }
Equations
- HomogeneousLocalization.instZero x = { zero := Quotient.mk'' 0 }
Equations
- HomogeneousLocalization.instNatCast = { natCast := Nat.unaryCast }
Equations
- HomogeneousLocalization.instIntCast = { intCast := Int.castDef }
Equations
- HomogeneousLocalization.homogenousLocalizationCommRing = Function.Injective.commRing HomogeneousLocalization.val ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- HomogeneousLocalization.homogeneousLocalizationAlgebra = Algebra.mk { toFun := HomogeneousLocalization.val, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ } ⋯ ⋯
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.
Instances For
Equations
- HomogeneousLocalization.instAlgebraSubtypeMemSubmoduleOfNat = (HomogeneousLocalization.fromZeroRingHom 𝒜 x).toAlgebra
Numerator of an element in HomogeneousLocalization x
.
Equations
- f.num = ↑(Quotient.out f).num
Instances For
Denominator of an element in HomogeneousLocalization x
.
Equations
- f.den = ↑(Quotient.out f).den
Instances For
For an element in HomogeneousLocalization x
, degree is the natural number i
such that
𝒜 i
contains both numerator and denominator.
Equations
- f.deg = (Quotient.out f).deg
Instances For
Localizing a ring homogeneously at a prime ideal.
Equations
- HomogeneousLocalization.AtPrime 𝒜 𝔭 = HomogeneousLocalization 𝒜 𝔭.primeCompl
Instances For
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.
Instances For
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
- HomogeneousLocalization.mapId 𝒜 h = HomogeneousLocalization.map 𝒜 𝒜 (RingHom.id A) h ⋯
Instances For
Given x = f * g
with g
homogeneous of positive degree,
this is the map A_{(f)} → A_{(x)}
taking a/f^i
to ag^i/(fg)^i
.
Equations
- HomogeneousLocalization.awayMap 𝒜 hg hx = ((RingEquiv.ofLeftInverse ⋯).symm.toRingHom.comp (Subring.inclusion ⋯)).comp (HomogeneousLocalization.awayMapAux✝ 𝒜 ⋯).rangeRestrict
Instances For
Given x = f * g
with g
homogeneous of positive degree,
this is the map A_{(f)} → A_{(x)}
taking a/f^i
to ag^i/(fg)^i
.
Equations
- HomogeneousLocalization.awayMapₐ 𝒜 hg hx = { toRingHom := HomogeneousLocalization.awayMap 𝒜 hg hx, commutes' := ⋯ }
Instances For
This is a convenient constructor for Away 𝒜 f
when f
is homogeneous.
Away.mk 𝒜 hf n x hx
is the fraction x / f ^ n
.
Equations
- HomogeneousLocalization.Away.mk 𝒜 hf n x hx = HomogeneousLocalization.mk { deg := n • d, num := ⟨x, hx⟩, den := ⟨f ^ n, ⋯⟩, den_mem := ⋯ }
Instances For
The element t := g ^ d / f ^ e
such that A_{(fg)} = A_{(f)}[1/t]
.
Equations
- HomogeneousLocalization.Away.isLocalizationElem hf hg = HomogeneousLocalization.Away.mk 𝒜 hf e (g ^ d) ⋯
Instances For
Let t := g ^ d / f ^ e
, then A_{(fg)} = A_{(f)}[1/t]
.