Results for the rank of a finite flat algebra #
In this file we study a finite, flat R-algebra S and relate injectivity and
bijectivity of R → S with the rank of S over R.
Main results #
PrimeSpectrum.comap_surjective_iff_injective_of_finite:Spec S → Spec Ris surjective if and only ifR → Sis injective.Module.Flat.tfae_algebraMap_surjective:R → Sis surjective iffS ⊗[R] S → Sis an isomorphism iff the rank ofSis at most1at all primes.Module.algebraMap_bijective_iff_rankAtStalk:Sis of constantR-rank1if and only ifSis isomorphic toR.
theorem
PrimeSpectrum.rankAtStalk_pos_iff_mem_range_comap
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[CommRing S]
[Algebra R S]
[Module.Flat R S]
[Module.Finite R S]
(p : PrimeSpectrum R)
:
theorem
PrimeSpectrum.rankAtStalk_pos_iff_comap_surjective
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[CommRing S]
[Algebra R S]
[Module.Flat R S]
[Module.Finite R S]
:
(∀ (p : PrimeSpectrum R), 0 < Module.rankAtStalk S p) ↔ Function.Surjective (comap (algebraMap R S))
The rank is positive at all stalks if and only if the induced map on prime spectra is surjective.
theorem
PrimeSpectrum.comap_surjective_iff_injective_of_finite
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[CommRing S]
[Algebra R S]
[Module.Flat R S]
[Module.Finite R S]
:
theorem
Module.rankAtStalk_pos_iff_algebraMap_injective
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[CommRing S]
[Algebra R S]
[Flat R S]
[Module.Finite R S]
:
theorem
Module.algebraMap_surjective_of_rankAtStalk_le_one
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[CommRing S]
[Algebra R S]
[Flat R S]
[Module.Finite R S]
(h : ∀ (p : PrimeSpectrum R), rankAtStalk S p ≤ 1)
:
Function.Surjective ⇑(algebraMap R S)
theorem
Module.Flat.tfae_algebraMap_surjective
(R : Type u_1)
(S : Type u_2)
[CommRing R]
[CommRing S]
[Algebra R S]
[Flat R S]
[Module.Finite R S]
:
[Function.Surjective ⇑(algebraMap R S), Function.Bijective ⇑(LinearMap.mul' R S), ∀ (p : PrimeSpectrum R), rankAtStalk S p ≤ 1].TFAE
If S is a finite and flat R-algebra, R → S is surjective iff S ⊗[R] S → S is an
isomorphism iff the rank of S is at most 1 at all primes.
theorem
Module.rankAtStalk_le_one_iff_surjective
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[CommRing S]
[Algebra R S]
[Flat R S]
[Module.Finite R S]
:
theorem
Module.algebraMap_bijective_iff_rankAtStalk
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[CommRing S]
[Algebra R S]
[Flat R S]
[Module.Finite R S]
:
If S is a finite, flat R-algebra, S is of constant rank 1 if and only if
S is isomorphic to R.
theorem
Module.algebraMap_bijective_of_rankAtStalk
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[CommRing S]
[Algebra R S]
[Flat R S]
[Module.Finite R S]
:
rankAtStalk S = 1 → Function.Bijective ⇑(algebraMap R S)
Alias of the forward direction of Module.algebraMap_bijective_iff_rankAtStalk.
If S is a finite, flat R-algebra, S is of constant rank 1 if and only if
S is isomorphic to R.
noncomputable def
RingHom.finrank
{R : Type u_3}
{S : Type u_4}
[CommRing R]
[CommRing S]
(f : R →+* S)
(x : PrimeSpectrum R)
:
The rank of a ring homomorphism f : R →+* S at a prime x of R is the rank of
S as an R-module at the stalk of x.
Equations
- f.finrank x = Module.rankAtStalk S x
Instances For
theorem
Algebra.rankAtStalk_eq_of_isPushout
(R : Type u_3)
(S : Type u_4)
[CommRing R]
[CommRing S]
[Algebra R S]
(R' : Type u_5)
(S' : Type u_6)
[CommRing R']
[CommRing S']
[Algebra R R']
[Algebra S S']
[Algebra R' S']
[Algebra R S']
[IsScalarTower R R' S']
[IsScalarTower R S S']
[IsPushout R S R' S']
[Module.Flat R S]
[Module.Finite R S]
(x : PrimeSpectrum R')
:
theorem
RingHom.finrank_comp_right_of_bijective
{R : Type u_3}
{S : Type u_4}
{T : Type u_5}
[CommRing R]
[CommRing S]
[CommRing T]
(f : R →+* S)
(g : S →+* T)
(hg : Function.Bijective ⇑f)
(h1 : g.Finite)
(h2 : g.Flat)
(y : PrimeSpectrum R)
(x : PrimeSpectrum S)
(hy : y = PrimeSpectrum.comap f x)
:
theorem
CommRingCat.finrank_eq_of_isPushout
{R S T P : CommRingCat}
{f : R ⟶ S}
{g : R ⟶ T}
{inl : S ⟶ P}
{inr : T ⟶ P}
(h : CategoryTheory.IsPushout f g inl inr)
(hf : (Hom.hom f).Flat)
(hfin : (Hom.hom f).Finite)
(x : PrimeSpectrum ↑T)
: