Module

FinitePresentation.lean

Nyll.SchemeTheory.RingTheory.Descent.FinitePresentation
14 declarations indexed from sourceView source ↗

Faithfully flat descent of finite presentation

Finite generation of the kernel of a polynomial presentation descends through faithfully flat base change. Combined with finite-type descent, this proves descent of finite presentation.

Imports13
Imported by2

Declarations

FaithfullyFlatFinitePresentation.ker_includeRight_le_map
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section EndGame
variable {A' A B' : Type*} [CommRing A'] [CommRing A] [CommRing B'] [Algebra A' A] [Algebra A' B']
lemma ker_includeRight_le_map (h : Function.Surjective (algebraMap A' A)) :
    RingHom.ker (Algebra.TensorProduct.includeRight : B' →ₐ[A'] A ⊗[A'] B').toRingHom ≤
      (RingHom.ker (algebraMap A' A)).map (algebraMap A' B')
FaithfullyFlatFinitePresentation.exists_fg_le_of_le_map
Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section EndGame
variable {A' A B' : Type*} [CommRing A'] [CommRing A] [CommRing B'] [Algebra A' A] [Algebra A' B']
lemma exists_fg_le_of_le_map {S : Type*} [CommRing S] (φ : A' →+* S) (I : Ideal A') (N : Ideal S)
    (hN : N.FG) (h : N ≤ I.map φ) : ∃ I₀ : Ideal A', I₀ ≤ I ∧ I₀.FG ∧ N ≤ I₀.map φ
FaithfullyFlatFinitePresentation.θ

The tensor-product algebra map induced by factoring the scalar map through the quotient by J.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section EndGame
variable {A' A B' : Type*} [CommRing A'] [CommRing A] [CommRing B'] [Algebra A' A] [Algebra A' B']
variable (A B') in
def θ (J : Ideal A') (hJ : J ≤ RingHom.ker (algebraMap A' A)) :
    (A' ⧸ J) ⊗[A'] B' →ₐ[A'] A ⊗[A'] B'
FaithfullyFlatFinitePresentation.θ_tmul
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section EndGame
variable {A' A B' : Type*} [CommRing A'] [CommRing A] [CommRing B'] [Algebra A' A] [Algebra A' B']
variable (A B') in
lemma θ_tmul (J : Ideal A') (hJ : J ≤ RingHom.ker (algebraMap A' A)) (a : A') (b : B') :
    θ A B' J hJ (Ideal.Quotient.mk J a ⊗ₜ b) = algebraMap A' A a ⊗ₜ b
FaithfullyFlatFinitePresentation.θ_includeRight
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section EndGame
variable {A' A B' : Type*} [CommRing A'] [CommRing A] [CommRing B'] [Algebra A' A] [Algebra A' B']
variable (A B') in
lemma θ_includeRight (J : Ideal A') (hJ : J ≤ RingHom.ker (algebraMap A' A)) (b : B') :
    θ A B' J hJ (Algebra.TensorProduct.includeRight b) = (1 : A) ⊗ₜ b
FaithfullyFlatFinitePresentation.θ_injective
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section EndGame
variable {A' A B' : Type*} [CommRing A'] [CommRing A] [CommRing B'] [Algebra A' A] [Algebra A' B']
variable (A B') in
lemma θ_injective (J : Ideal A')
    (hJ : J ≤ RingHom.ker (algebraMap A' A))
    (hker : RingHom.ker (Algebra.TensorProduct.includeRight : B' →ₐ[A'] A ⊗[A'] B').toRingHom ≤
      J.map (algebraMap A' B')) :
    Function.Injective (θ A B' J hJ)
FaithfullyFlatFinitePresentation.θ_smul_eq_zero
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section EndGame
variable {A' A B' : Type*} [CommRing A'] [CommRing A] [CommRing B'] [Algebra A' A] [Algebra A' B']
variable (A B') in
lemma θ_smul_eq_zero (J : Ideal A') (hJ : J ≤ RingHom.ker (algebraMap A' A)) (a : A')
    (ha : algebraMap A' A a = 0) (x : (A' ⧸ J) ⊗[A'] B') :
    θ A B' J hJ (Ideal.Quotient.mk J a • x) = 0
FaithfullyFlatFinitePresentation.ker_fg_of_faithfullyFlat_baseChange
Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section EndGame
variable {A' A B' : Type*} [CommRing A'] [CommRing A] [CommRing B'] [Algebra A' A] [Algebra A' B']
variable (A B') in
theorem ker_fg_of_faithfullyFlat_baseChange (h : Function.Surjective (algebraMap A' A))
    [Module.Flat A' B'] [Algebra.FinitePresentation A' B']
    [Module.FaithfullyFlat A (A ⊗[A'] B')] [Algebra.FinitePresentation A' (A ⊗[A'] B')] :
    (RingHom.ker (algebraMap A' A)).FG
FaithfullyFlatFinitePresentation.ker_fg_of_descent
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section Assembly
theorem ker_fg_of_descent (P : Type*) (A : Type*) (B : Type*) [CommRing P] [CommRing A] [CommRing B]
    [Algebra P A] [Algebra A B] [Algebra P B] [IsScalarTower P A B]
    (hπ : Function.Surjective (algebraMap P A))
    [Module.FaithfullyFlat A B] [Algebra.FinitePresentation P B]
    (A₁ : Type*) [CommRing A₁] [Algebra A₁ A] (B₁ : Type*) [CommRing B₁] [Algebra A₁ B₁]
    [Module.Flat A₁ B₁] [Algebra.FinitePresentation A₁ B₁]
    (e : A ⊗[A₁] B₁ ≃ₐ[A] B)
    (R₁ : Type*) [CommRing R₁] [Algebra R₁ P] [Algebra R₁ A₁] [IsNoetherianRing R₁]
    (hρ : Function.Surjective (algebraMap R₁ A₁))
    (hcompat : ∀ r : R₁, algebraMap A₁ A (algebraMap R₁ A₁ r) =
      algebraMap P A (algebraMap R₁ P r)) :
    (RingHom.ker (algebraMap P A)).FG
FaithfullyFlatFinitePresentation.ker_fg_of_model
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section Assembly
theorem ker_fg_of_model (P : Type*) (A : Type*) (B : Type*) [CommRing P] [CommRing A] [CommRing B]
    [Algebra P A] [Algebra A B] [Algebra P B] [IsScalarTower P A B]
    (hπ : Function.Surjective (algebraMap P A))
    [Module.FaithfullyFlat A B] [Algebra.FinitePresentation P B]
    (R₀ : Type*) [CommRing R₀] [Algebra R₀ P] [Algebra R₀ A]
    [IsScalarTower R₀ P A] [IsNoetherianRing R₀]
    (Bq : Type*) [CommRing Bq] [Algebra R₀ Bq] [Algebra.FinitePresentation R₀ Bq]
    (Φ : A ⊗[R₀] Bq ≃ₐ[A] B) :
    (RingHom.ker (algebraMap P A)).FG
FaithfullyFlatFinitePresentation.ker_fg_of_lifts
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section Assembly
theorem ker_fg_of_lifts (P : Type*) (A : Type*) (B : Type*) [CommRing P] [CommRing A] [CommRing B]
    [Algebra P A] [Algebra A B] [Algebra P B] [IsScalarTower P A B]
    (hπ : Function.Surjective (algebraMap P A))
    [Module.FaithfullyFlat A B] [Algebra.FinitePresentation P B]
    (R₀ : Type*) [CommRing R₀] [Algebra R₀ P] [Algebra R₀ A]
    [IsScalarTower R₀ P A] [IsNoetherianRing R₀]
    {k : ℕ} (ψ : MvPolynomial (Fin k) A →ₐ[A] B) (hψ : Function.Surjective ψ)
    (tk : Finset (MvPolynomial (Fin k) A))
    (htk : Ideal.span (↑tk : Set (MvPolynomial (Fin k) A)) = RingHom.ker ψ)
    (g₀ : tk → MvPolynomial (Fin k) R₀) (hg₀ : ∀ g, MvPolynomial.map (algebraMap R₀ A) (g₀ g) = g) :
    (RingHom.ker (algebraMap P A)).FG
FaithfullyFlatFinitePresentation.ker_fg_of_surjective
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section Assembly
theorem ker_fg_of_surjective (P : Type*) (A : Type*) (B : Type*)
    [CommRing P] [CommRing A] [CommRing B]
    [Algebra P A] [Algebra A B] [Algebra P B] [IsScalarTower P A B]
    (hπ : Function.Surjective (algebraMap P A))
    [Module.FaithfullyFlat A B] [Algebra.FinitePresentation A B] [Algebra.FinitePresentation P B] :
    (RingHom.ker (algebraMap P A)).FG
FaithfullyFlatFinitePresentation.main
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
noncomputable section
namespace FaithfullyFlatFinitePresentation
open FaithfullyFlatFiniteType
section Assembly
theorem main (R : Type u) (A : Type v) (B : Type w) [CommRing R] [CommRing A] [CommRing B]
    [Algebra R A] [Algebra R B] [Algebra A B] [IsScalarTower R A B]
    [Module.FaithfullyFlat A B] [Algebra.FinitePresentation A B] [Algebra.FinitePresentation R B] :
    Algebra.FinitePresentation R A
Algebra.FinitePresentation.of_faithfullyFlat_of_finitePresentation
Source context 2 commands

Surrounding namespaces, section variables, and local commands at this declaration.

universe u v w
open TensorProduct PrimeSpectrum
theorem Algebra.FinitePresentation.of_faithfullyFlat_of_finitePresentation
    (R : Type u) (A : Type v) (B : Type w) [CommRing R] [CommRing A] [CommRing B]
    [Algebra R A] [Algebra R B] [Algebra A B] [IsScalarTower R A B]
    [Module.FaithfullyFlat A B] [Algebra.FinitePresentation A B] [Algebra.FinitePresentation R B] :
    Algebra.FinitePresentation R A