Ring Homomorphisms surjective on stalks #
In this file, we prove some results on ring homomorphisms surjective on stalks, to be used in the development of immersions in algebraic geometry.
A ring homomorphism R โ+* S is surjective on stalks if R_p โ+* S_q is surjective for all pairs
of primes p = fโปยน(q). We show that this property is stable under composition and base change, and
that surjections and localizations satisfy this.
theorem
RingHom.surjective_localRingHom_iff
{R : Type u_1}
[CommRing R]
{S : Type u_2}
[CommRing S]
{f : R โ+* S}
(P : Ideal S)
[P.IsPrime]
:
Function.Surjective โ(Localization.localRingHom (Ideal.comap f P) P f โฏ) โ โ (s : S), โ (x : R) (r : R), โ c โ P, f r โ P โง c * f r * s = c * f x
R_p โ+* S_q is surjective if and only if
every x : S is of the form f x / f r for some f r โ q.
This is useful when proving SurjectiveOnStalks.
theorem
RingHom.surjectiveOnStalks_iff_forall_maximal
{R : Type u_1}
[CommRing R]
{S : Type u_2}
[CommRing S]
{f : R โ+* S}
:
f.SurjectiveOnStalks โ โ (I : Ideal S) (x : I.IsMaximal), Function.Surjective โ(Localization.localRingHom (Ideal.comap f I) I f โฏ)
theorem
RingHom.surjectiveOnStalks_of_surjective
{R : Type u_1}
[CommRing R]
{S : Type u_2}
[CommRing S]
{f : R โ+* S}
(h : Function.Surjective โf)
:
theorem
RingHom.SurjectiveOnStalks.comp
{R : Type u_1}
[CommRing R]
{S : Type u_2}
[CommRing S]
{T : Type u_3}
[CommRing T]
{g : S โ+* T}
{f : R โ+* S}
(hg : g.SurjectiveOnStalks)
(hf : f.SurjectiveOnStalks)
:
(g.comp f).SurjectiveOnStalks
theorem
RingHom.SurjectiveOnStalks.localRingHom_surjective
{R : Type u_1}
[CommRing R]
{S : Type u_2}
[CommRing S]
{f : R โ+* S}
(hf : f.SurjectiveOnStalks)
(P : Ideal R)
[P.IsPrime]
(Q : Ideal S)
[Q.IsPrime]
(e : P = Ideal.comap f Q)
:
Function.Surjective โ(Localization.localRingHom P Q f e)
theorem
RingHom.SurjectiveOnStalks.exists_mul_eq_tmul
{R : Type u_1}
[CommRing R]
{S : Type u_2}
[CommRing S]
{T : Type u_3}
[CommRing T]
[Algebra R T]
[Algebra R S]
(hfโ : (algebraMap R T).SurjectiveOnStalks)
(x : TensorProduct R S T)
(J : Ideal T)
(hJ : J.IsPrime)
:
If R โ T is surjective on stalks, and J is some prime of T,
then every element x in S โ[R] T satisfies (1 โ r โข t) * x = a โ t for some
r : R, a : S, and t : T such that r โข t โ J.
theorem
RingHom.surjectiveOnStalks_of_isLocalization
{R : Type u_1}
[CommRing R]
(M : Submonoid R)
(S : Type u_2)
[CommRing S]
[Algebra R S]
[IsLocalization M S]
:
(algebraMap R S).SurjectiveOnStalks
theorem
RingHom.SurjectiveOnStalks.baseChange
{R : Type u_1}
[CommRing R]
{S : Type u_2}
[CommRing S]
{T : Type u_3}
[CommRing T]
[Algebra R T]
[Algebra R S]
(hf : (algebraMap R T).SurjectiveOnStalks)
:
(algebraMap S (TensorProduct R S T)).SurjectiveOnStalks
theorem
RingHom.SurjectiveOnStalks.baseChange'
{R : Type u_1}
[CommRing R]
{S : Type u_2}
[CommRing S]
{T : Type u_3}
[CommRing T]
[Algebra R T]
[Algebra R S]
(hf : (algebraMap R S).SurjectiveOnStalks)
:
theorem
RingHom.SurjectiveOnStalks.tensorProductMap
{R : Type u_1}
[CommRing R]
{S : Type u_2}
[CommRing S]
{T : Type u_3}
[CommRing T]
{S' : Type u_4}
{T' : Type u_5}
[CommRing S']
[CommRing T']
[Algebra R S]
[Algebra R T]
[Algebra R S']
[Algebra R T']
{f : S โโ[R] S'}
(Hf : f.SurjectiveOnStalks)
{g : T โโ[R] T'}
(Hg : g.SurjectiveOnStalks)
:
theorem
RingHom.surjectiveOnStalks_iff_of_isLocalHom
{R : Type u_1}
[CommRing R]
{S : Type u_2}
[CommRing S]
{f : R โ+* S}
[IsLocalRing S]
[IsLocalHom f]
: