Module

Mathlib_RingTheory_SmoothAlgebraOverFieldRegularStalks.lean

Nyll.AlgebraicCurves.Foundations.CommutativeAlgebra.Mathlib_RingTheory_SmoothAlgebraOverFieldRegularStalks
17 declarations indexed from sourceView source ↗

Regular stalks for unramified algebras over fields

The dual-number counterexample records why a smoothness hypothesis is needed.

Declarations

Smooth algebras over fields have regular localizations at prime ideals.

Source context 2 commands

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

universe u
open IsLocalRing
def SmoothFieldFiberRegularStalksInput : Prop
SmoothFieldFiberRegularStalks.isRegularLocalRing_of_isField
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem isRegularLocalRing_of_isField (R : Type*) [CommRing R] (hf : IsField R) :
    IsRegularLocalRing R
SmoothFieldFiberRegularStalks.isRegularLocalRing_atPrime_of_artinian_reduced
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem isRegularLocalRing_atPrime_of_artinian_reduced
    (A : Type*) [CommRing A] [IsArtinianRing A] [IsReduced A]
    (p : Ideal A) [p.IsPrime] :
    IsRegularLocalRing (Localization.AtPrime p)
SmoothFieldFiberRegularStalks.isRegularRing_of_isArtinianRing_of_isReduced
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem isRegularRing_of_isArtinianRing_of_isReduced
    (A : Type*) [CommRing A] [IsArtinianRing A] [IsReduced A] :
    IsRegularRing A
SmoothFieldFiberRegularStalks.isRegularLocalRing_localization_atPrime_of_formallyUnramified
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem isRegularLocalRing_localization_atPrime_of_formallyUnramified
    (k A : Type*) [Field k] [CommRing A] [Algebra k A]
    [Algebra.FormallyUnramified k A] [Algebra.EssFiniteType k A]
    (p : Ideal A) [p.IsPrime] :
    IsRegularLocalRing (Localization.AtPrime p)
SmoothFieldFiberRegularStalks.isRegularLocalRing_localization_atPrime_of_etale
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem isRegularLocalRing_localization_atPrime_of_etale
    (k A : Type*) [Field k] [CommRing A] [Algebra k A] [Algebra.Etale k A]
    (p : Ideal A) [p.IsPrime] :
    IsRegularLocalRing (Localization.AtPrime p)
SmoothFieldFiberRegularStalks.isRegularRing_of_etale
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem isRegularRing_of_etale
    (k A : Type*) [Field k] [CommRing A] [Algebra k A] [Algebra.Etale k A] :
    IsRegularRing A
SmoothFieldFiberRegularStalks.smoothFieldFiberRegularStalksInput_iff
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem smoothFieldFiberRegularStalksInput_iff :
    SmoothFieldFiberRegularStalksInput.{u} ↔
      ∀ (k A : Type u) [Field k] [CommRing A] [Algebra k A],
        Algebra.Smooth k A → ∀ (p : Ideal A) [p.IsPrime],
          IsRegularLocalRing (Localization.AtPrime p)
SmoothFieldFiberRegularStalks.isRegularRing_of_smooth_of_input
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem isRegularRing_of_smooth_of_input
    (hinput : SmoothFieldFiberRegularStalksInput.{u})
    (k A : Type u) [Field k] [CommRing A] [Algebra k A] [Algebra.Smooth k A] :
    IsRegularRing A
SmoothFieldFiberRegularStalks.eps_ne_zero
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem eps_ne_zero (K : Type*) [Field K] : (DualNumber.eps : DualNumber K) ≠ 0
SmoothFieldFiberRegularStalks.nilradical_dualNumber_eq_span_eps
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem nilradical_dualNumber_eq_span_eps (K : Type*) [Field K] :
    nilradical (DualNumber K) = Ideal.span {(DualNumber.eps : DualNumber K)}
SmoothFieldFiberRegularStalks.ringKrullDim_dualNumber_eq_zero
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem ringKrullDim_dualNumber_eq_zero (K : Type*) [Field K] :
    ringKrullDim (DualNumber K) = 0
SmoothFieldFiberRegularStalks.spanFinrank_maximalIdeal_dualNumber_eq_one
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem spanFinrank_maximalIdeal_dualNumber_eq_one (K : Type*) [Field K] :
    (maximalIdeal (DualNumber K)).spanFinrank = 1
SmoothFieldFiberRegularStalks.not_isRegularLocalRing_dualNumber
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem not_isRegularLocalRing_dualNumber (K : Type*) [Field K] :
    ¬ IsRegularLocalRing (DualNumber K)
SmoothFieldFiberRegularStalks.isField_of_isRegularLocalRing_of_krullDimLE_zero
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem isField_of_isRegularLocalRing_of_krullDimLE_zero
    (R : Type*) [CommRing R] [Ring.KrullDimLE 0 R] [IsRegularLocalRing R] :
    IsField R
SmoothFieldFiberRegularStalks.not_isRegularLocalRing_localization_atPrime_dualNumber
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem not_isRegularLocalRing_localization_atPrime_dualNumber (K : Type*) [Field K] :
    ¬ IsRegularLocalRing (Localization.AtPrime (maximalIdeal (DualNumber K)))
SmoothFieldFiberRegularStalks.not_forall_regular_stalks_without_smooth
Source context 3 commands

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

universe u
open IsLocalRing
namespace SmoothFieldFiberRegularStalks
theorem not_forall_regular_stalks_without_smooth :
    ¬ (∀ (k A : Type) [Field k] [CommRing A] [Algebra k A] (p : Ideal A) [p.IsPrime],
        IsRegularLocalRing (Localization.AtPrime p))