Smooth locus of an algebra #
Most results in this file are proved for algebras of finite presentations. Some of them are true for arbitrary algebras but the proof is substantially harder.
Main results #
Algebra.smoothLocus
: The set of primes that are smooth over the base.Algebra.basicOpen_subset_smoothLocus_iff
:D(f)
is contained in the smooth locus if and only ifA_f
is smooth overR
.Algebra.smoothLocus_eq_univ_iff
: The smooth locus is the whole spectrum if and only ifA
is smooth overR
.Algebra.isOpen_smoothLocus
: The smooth locus is open.
@[reducible, inline]
abbrev
Algebra.IsSmoothAt
(R : Type u)
{A : Type u}
[CommRing R]
[CommRing A]
[Algebra R A]
(p : Ideal A)
[p.IsPrime]
:
An R
-algebra A
is smooth at a prime p
of A
if Aₚ
is formally smooth over R
.
This does not imply Aₚ
is smooth over R
under the mathlib definition
even if A
is finitely presented,
but it can be shown that this is equivalent to the stacks project definition that A
is smooth
at p
if and only if there exists f ∉ p
such that A_f
is smooth over R
.
See Algebra.basicOpen_subset_smoothLocus_iff_smooth
and Algebra.isOpen_smoothLocus
.
Equations
Instances For
def
Algebra.smoothLocus
(R A : Type u)
[CommRing R]
[CommRing A]
[Algebra R A]
:
Set (PrimeSpectrum A)
Algebra.smoothLocus R A
is the set of primes p
of A
such that Aₚ
is formally smooth over R
.
Equations
- Algebra.smoothLocus R A = {p : PrimeSpectrum A | Algebra.IsSmoothAt R p.asIdeal}
Instances For
theorem
Algebra.smoothLocus_eq_compl_support_inter
{R A : Type u}
[CommRing R]
[CommRing A]
[Algebra R A]
[EssFiniteType R A]
:
theorem
Algebra.basicOpen_subset_smoothLocus_iff
{R A : Type u}
[CommRing R]
[CommRing A]
[Algebra R A]
[FinitePresentation R A]
{f : A}
:
theorem
Algebra.basicOpen_subset_smoothLocus_iff_smooth
{R A : Type u}
[CommRing R]
[CommRing A]
[Algebra R A]
[FinitePresentation R A]
{f : A}
:
theorem
Algebra.smoothLocus_eq_univ_iff
{R A : Type u}
[CommRing R]
[CommRing A]
[Algebra R A]
[FinitePresentation R A]
:
theorem
Algebra.smoothLocus_comap_of_isLocalization
{R A : Type u}
[CommRing R]
[CommRing A]
[Algebra R A]
{Af : Type u}
[CommRing Af]
[Algebra A Af]
[Algebra R Af]
[IsScalarTower R A Af]
(f : A)
[IsLocalization.Away f Af]
:
theorem
Algebra.isOpen_smoothLocus
{R A : Type u}
[CommRing R]
[CommRing A]
[Algebra R A]
[FinitePresentation R A]
:
IsOpen (smoothLocus R A)