Documentation

Mathlib.RingTheory.Smooth.Basic

Smooth morphisms #

An R-algebra A is formally smooth if for every R-algebra, every square-zero ideal I : Ideal B and f : A →ₐ[R] B ⧸ I, there exists at least one lift A →ₐ[R] B. It is smooth if it is formally smooth and of finite presentation.

We show that the property of being formally smooth extends onto nilpotent ideals, and that it is stable under R-algebra homomorphisms and compositions.

We show that smooth is stable under algebra isomorphisms, composition and localization at an element.

theorem Algebra.formallySmooth_iff (R : Type u) [CommSemiring R] (A : Type u) [Semiring A] [Algebra R A] :
Algebra.FormallySmooth R A ∀ ⦃B : Type u⦄ [inst : CommRing B] [inst_1 : Algebra R B] (I : Ideal B), I ^ 2 = Function.Surjective (Ideal.Quotient.mkₐ R I).comp
class Algebra.FormallySmooth (R : Type u) [CommSemiring R] (A : Type u) [Semiring A] [Algebra R A] :

An R algebra A is formally smooth if for every R-algebra, every square-zero ideal I : Ideal B and f : A →ₐ[R] B ⧸ I, there exists at least one lift A →ₐ[R] B.

See https://stacks.math.columbia.edu/tag/00TI.

Instances
    theorem Algebra.FormallySmooth.comp_surjective {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] [self : Algebra.FormallySmooth R A] ⦃B : Type u⦄ [CommRing B] [Algebra R B] (I : Ideal B) :
    theorem Algebra.FormallySmooth.exists_lift {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [_RB : Algebra R B] [Algebra.FormallySmooth R A] (I : Ideal B) (hI : IsNilpotent I) (g : A →ₐ[R] B I) :
    ∃ (f : A →ₐ[R] B), (Ideal.Quotient.mkₐ R I).comp f = g
    noncomputable def Algebra.FormallySmooth.lift {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [Algebra R B] [Algebra.FormallySmooth R A] (I : Ideal B) (hI : IsNilpotent I) (g : A →ₐ[R] B I) :

    For a formally smooth R-algebra A and a map f : A →ₐ[R] B ⧸ I with I square-zero, this is an arbitrary lift A →ₐ[R] B.

    Equations
    Instances For
      @[simp]
      theorem Algebra.FormallySmooth.comp_lift {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [Algebra R B] [Algebra.FormallySmooth R A] (I : Ideal B) (hI : IsNilpotent I) (g : A →ₐ[R] B I) :
      @[simp]
      theorem Algebra.FormallySmooth.mk_lift {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [Algebra R B] [Algebra.FormallySmooth R A] (I : Ideal B) (hI : IsNilpotent I) (g : A →ₐ[R] B I) (x : A) :
      noncomputable def Algebra.FormallySmooth.liftOfSurjective {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [Algebra R B] {C : Type u} [CommRing C] [Algebra R C] [Algebra.FormallySmooth R A] (f : A →ₐ[R] C) (g : B →ₐ[R] C) (hg : Function.Surjective g) (hg' : IsNilpotent (RingHom.ker g)) :

      For a formally smooth R-algebra A and a map f : A →ₐ[R] B ⧸ I with I nilpotent, this is an arbitrary lift A →ₐ[R] B.

      Equations
      Instances For
        @[simp]
        theorem Algebra.FormallySmooth.liftOfSurjective_apply {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [Algebra R B] {C : Type u} [CommRing C] [Algebra R C] [Algebra.FormallySmooth R A] (f : A →ₐ[R] C) (g : B →ₐ[R] C) (hg : Function.Surjective g) (hg' : IsNilpotent (RingHom.ker g)) (x : A) :
        @[simp]
        theorem Algebra.FormallySmooth.comp_liftOfSurjective {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [Algebra R B] {C : Type u} [CommRing C] [Algebra R C] [Algebra.FormallySmooth R A] (f : A →ₐ[R] C) (g : B →ₐ[R] C) (hg : Function.Surjective g) (hg' : IsNilpotent (RingHom.ker g)) :
        theorem Algebra.FormallySmooth.of_split {R : Type u} [CommRing R] {P : Type u} {A : Type u} [CommRing A] [Algebra R A] [CommRing P] [Algebra R P] (f : P →ₐ[R] A) [Algebra.FormallySmooth R P] (g : A →ₐ[R] P RingHom.ker f.toRingHom ^ 2) (hg : f.kerSquareLift.comp g = AlgHom.id R A) :
        theorem Algebra.FormallySmooth.iff_split_surjection {R : Type u} [CommRing R] {P : Type u} {A : Type u} [CommRing A] [Algebra R A] [CommRing P] [Algebra R P] (f : P →ₐ[R] A) (hf : Function.Surjective f) [Algebra.FormallySmooth R P] :
        Algebra.FormallySmooth R A ∃ (g : A →ₐ[R] P RingHom.ker f.toRingHom ^ 2), f.kerSquareLift.comp g = AlgHom.id R A

        Let P →ₐ[R] A be a surjection with kernel J, and P a formally smooth R-algebra, then A is formally smooth over R iff the surjection P ⧸ J ^ 2 →ₐ[R] A has a section.

        Geometric intuition: we require that a first-order thickening of Spec A inside Spec P admits a retraction.

        theorem Algebra.FormallySmooth.localization_base {R : Type u} {Rₘ : Type u} {Sₘ : Type u} [CommRing R] [CommRing Rₘ] [CommRing Sₘ] (M : Submonoid R) [Algebra R Sₘ] [Algebra R Rₘ] [Algebra Rₘ Sₘ] [IsScalarTower R Rₘ Sₘ] [IsLocalization M Rₘ] [Algebra.FormallySmooth R Sₘ] :
        theorem Algebra.FormallySmooth.localization_map {R : Type u} {S : Type u} {Rₘ : Type u} {Sₘ : Type u} [CommRing R] [CommRing S] [CommRing Rₘ] [CommRing Sₘ] (M : Submonoid R) [Algebra R S] [Algebra R Sₘ] [Algebra S Sₘ] [Algebra R Rₘ] [Algebra Rₘ Sₘ] [IsScalarTower R Rₘ Sₘ] [IsScalarTower R S Sₘ] [IsLocalization M Rₘ] [IsLocalization (Submonoid.map (algebraMap R S) M) Sₘ] [Algebra.FormallySmooth R S] :
        class Algebra.Smooth (R : Type u) [CommSemiring R] (A : Type u) [Semiring A] [Algebra R A] :

        An R algebra A is smooth if it is formally smooth and of finite presentation.

        In the stacks project, the definition of smooth is completely different, and tag https://stacks.math.columbia.edu/tag/00TN proves that their definition is equivalent to this.

        Instances
          theorem Algebra.Smooth.of_equiv {R : Type u} [CommRing R] {A : Type u} {B : Type u} [CommRing A] [Algebra R A] [CommRing B] [Algebra R B] [Algebra.Smooth R A] (e : A ≃ₐ[R] B) :

          Being smooth is transported via algebra isomorphisms.

          Localization at an element is smooth.

          theorem Algebra.Smooth.comp (R : Type u) [CommRing R] (A : Type u) (B : Type u) [CommRing A] [Algebra R A] [CommRing B] [Algebra R B] [Algebra A B] [IsScalarTower R A B] [Algebra.Smooth R A] [Algebra.Smooth A B] :

          Smooth is stable under composition.

          instance Algebra.Smooth.baseChange (R : Type u) [CommRing R] (A : Type u) (B : Type u) [CommRing A] [Algebra R A] [CommRing B] [Algebra R B] [Algebra.Smooth R A] :

          Smooth is stable under base change.

          Equations
          • =