Documentation

Mathlib.RingTheory.SurjectiveOnStalks

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.

def RingHom.SurjectiveOnStalks {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] (f : R โ†’+* S) :

A ring homomorphism R โ†’+* S is surjective on stalks if R_p โ†’+* S_q is surjective for all pairs of primes p = fโปยน(q).

Equations
    Instances For
      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_ideal {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {f : R โ†’+* S} :
      f.SurjectiveOnStalks โ†” โˆ€ (I : Ideal S), I โ‰  โŠค โ†’ โˆ€ (s : S), โˆƒ (x : R) (r : R), โˆƒ c โˆ‰ I, f r โˆ‰ I โˆง c * f r * s = c * f x
      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), I.IsMaximal โ†’ โˆ€ (s : S), โˆƒ (x : R) (r : R), โˆƒ c โˆ‰ I, f r โˆ‰ I โˆง c * f r * s = c * f x
      theorem RingHom.surjectiveOnStalks_of_exists_div {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {f : R โ†’+* S} (h : โˆ€ (x : S), โˆƒ (r : R) (s : R), IsUnit (f s) โˆง f s * x = f r) :
      theorem RingHom.SurjectiveOnStalks.of_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.comp f).SurjectiveOnStalks) :
      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) :
      โˆƒ (t : T) (r : R) (a : S), r โ€ข t โˆ‰ J โˆง 1 โŠ—โ‚œ[R] (r โ€ข t) * x = a โŠ—โ‚œ[R] t

      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.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) :