Module

Algebra_isSmoothAt_of_isSmoothAt_fiber.lean

Nyll.AlgebraicCurves.Foundations.Algebra.Algebra_isSmoothAt_of_isSmoothAt_fiber
2 declarations indexed from sourceView source ↗

Algebra is Smooth At of is Smooth At fiber

Declarations

AlgebraicCurves.Foundations.Algebra.Proofs.Algebra_isSmoothAt_of_isSmoothAt_fiber.PtwiseSmooth.includeRight_surjective_of_residueField
Source context 5 commands

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

section ProofImplementation
namespace AlgebraicCurves.Foundations.Algebra.Proofs.Algebra_isSmoothAt_of_isSmoothAt_fiber
universe u
open TensorProduct
namespace PtwiseSmooth
theorem includeRight_surjective_of_residueField (Rp Sq : Type u) [CommRing Rp] [IsLocalRing Rp]
  [CommRing Sq]
    [Algebra Rp Sq] :
    Function.Surjective (Algebra.TensorProduct.includeRight :
      Sq →ₐ[Rp] IsLocalRing.ResidueField Rp ⊗[Rp] Sq)
Algebra.isSmoothAt_of_isSmoothAt_fiber
Source context 5 commands

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

section ProofImplementation
namespace AlgebraicCurves.Foundations.Algebra.Proofs.Algebra_isSmoothAt_of_isSmoothAt_fiber
universe u
open TensorProduct
open PtwiseSmooth in
theorem _root_.Algebra.isSmoothAt_of_isSmoothAt_fiber
    {R S : Type u} [CommRing R] [CommRing S] [Algebra R S] [Module.Flat R S]
      [Algebra.FinitePresentation R S]
    (p : Ideal R) [p.IsPrime] (q : Ideal S) [q.IsPrime] [q.LiesOver p]
    (Q : Ideal (p.Fiber S)) [Q.IsPrime]
    (hQ : Q.comap (Algebra.TensorProduct.includeRight : S →ₐ[R] p.Fiber S).toRingHom = q)
    [Algebra.IsSmoothAt p.ResidueField Q] :
    Algebra.IsSmoothAt R q