Documentation

Mathlib.RingTheory.Etale.Kaehler

The differential module and etale algebras #

Main results #

The canonical isomorphism T ⊗[S] Ω[S⁄R] ≃ₗ[T] Ω[T⁄R] for T a formally etale S-algebra. Also see S ⊗[R] Ω[A⁄R] ≃ₗ[S] Ω[S ⊗[R] A⁄S] at KaehlerDifferential.tensorKaehlerEquiv.

Equations
    Instances For

      Suppose we have a morphism of extensions of R-algebras

      0 → J → Q → T → 0
          ↑   ↑   ↑
      0 → I → P → S → 0
      
      noncomputable def Algebra.Extension.tensorCotangentSpace {R S T : Type u} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {P : Extension R S} {Q : Extension R T} (f : P.Hom Q) (H : f.toRingHom.FormallyEtale) :

      If P → Q is formally etale, then T ⊗ₛ (S ⊗ₚ Ω[P/R]) ≃ T ⊗_Q Ω[Q/R].

      Equations
        Instances For
          noncomputable def Algebra.Extension.tensorCotangentInvFun {R S T : Type u} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] {P : Extension R S} {Q : Extension R T} (f : P.Hom Q) [alg : Algebra P.Ring Q.Ring] (halg : algebraMap P.Ring Q.Ring = f.toRingHom) (H : Function.Bijective (LinearMap.liftBaseChange Q.Ring (f.mapKer halg))) :

          (Implementation) If J ≃ Q ⊗ₚ I (e.g. when T = Q ⊗ₚ S and P → Q is flat), then T ⊗ₛ I/I² ≃ J/J². This is the inverse.

          Equations
            Instances For
              theorem Algebra.Extension.tensorCotangentInvFun_smul_mk {R S T : Type u} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] {P : Extension R S} {Q : Extension R T} (f : P.Hom Q) [alg : Algebra P.Ring Q.Ring] (halg : algebraMap P.Ring Q.Ring = f.toRingHom) (H : Function.Bijective (LinearMap.liftBaseChange Q.Ring (f.mapKer halg))) (x : Q.Ring) (y : P.ker) :
              noncomputable def Algebra.Extension.tensorCotangent {R S T : Type u} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] {P : Extension R S} {Q : Extension R T} (f : P.Hom Q) [alg : Algebra P.Ring Q.Ring] (halg : algebraMap P.Ring Q.Ring = f.toRingHom) (H : Function.Bijective (LinearMap.liftBaseChange Q.Ring (f.mapKer halg))) :

              If J ≃ Q ⊗ₚ I (e.g. when T = Q ⊗ₚ S and P → Q is flat), then T ⊗ₛ I/I² ≃ J/J².

              Equations
                Instances For
                  noncomputable def Algebra.Extension.tensorH1Cotangent {R S T : Type u} [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {P : Extension R S} {Q : Extension R T} (f : P.Hom Q) [alg : Algebra P.Ring Q.Ring] (halg : algebraMap P.Ring Q.Ring = f.toRingHom) [Module.Flat S T] (H₁ : f.toRingHom.FormallyEtale) (H₂ : Function.Bijective (LinearMap.liftBaseChange Q.Ring (f.mapKer halg))) :

                  If J ≃ Q ⊗ₚ I, S → T is flat and P → Q is formally etale, then T ⊗ H¹(L_P) ≃ H¹(L_Q).

                  Equations
                    Instances For
                      noncomputable def Algebra.tensorH1CotangentOfIsLocalization (R : Type u) {S : Type u} (T : Type u) [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (M : Submonoid S) [IsLocalization M T] :

                      let p be a submonoid of an R-algebra S. Then Sₚ ⊗ H¹(L_{S/R}) ≃ H¹(L_{Sₚ/R}).

                      Equations
                        Instances For
                          instance Algebra.H1Cotangent.isLocalizedModule (R : Type u) {S : Type u} (T : Type u) [CommRing R] [CommRing S] [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] [IsScalarTower R S T] (M : Submonoid S) [IsLocalization M T] :