Documentation

Mathlib.RingTheory.Kaehler.TensorProduct

Kähler differential module under base change #

Main results #

@[reducible, inline]
noncomputable abbrev KaehlerDifferential.mulActionBaseChange (R : Type u_1) (S : Type u_2) (A : Type u_3) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [Algebra R A] :

(Implementation). A-action on S ⊗[R] Ω[A⁄R].

Equations
    Instances For
      @[simp]
      theorem KaehlerDifferential.mulActionBaseChange_smul_tmul (R : Type u_1) (S : Type u_2) (A : Type u_3) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [Algebra R A] (a : A) (s : S) (x : Ω[AR]) :
      a s ⊗ₜ[R] x = s ⊗ₜ[R] (a x)
      theorem KaehlerDifferential.mulActionBaseChange_smul_zero (R : Type u_1) (S : Type u_2) (A : Type u_3) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [Algebra R A] (a : A) :
      a 0 = 0
      theorem KaehlerDifferential.mulActionBaseChange_smul_add (R : Type u_1) (S : Type u_2) (A : Type u_3) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [Algebra R A] (a : A) (x y : TensorProduct R S Ω[AR]) :
      a (x + y) = a x + a y
      @[reducible, inline]
      noncomputable abbrev KaehlerDifferential.moduleBaseChange (R : Type u_1) (S : Type u_2) (A : Type u_3) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [Algebra R A] :

      (Implementation). A-module structure on S ⊗[R] Ω[A⁄R].

      Equations
        Instances For
          @[reducible]
          noncomputable def KaehlerDifferential.moduleBaseChange' (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [Algebra.IsPushout R S A B] :

          (Implementation). B = S ⊗[R] A-module structure on S ⊗[R] Ω[A⁄R].

          Equations
            Instances For
              instance KaehlerDifferential.instIsScalarTowerTensorProduct_1 (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [Algebra.IsPushout R S A B] :
              instance KaehlerDifferential.instIsScalarTowerTensorProduct_2 (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [Algebra.IsPushout R S A B] :
              theorem KaehlerDifferential.map_liftBaseChange_smul (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [h : Algebra.IsPushout R S A B] (b : B) (x : TensorProduct R S Ω[AR]) :
              (LinearMap.liftBaseChange S (R (map R S A B))) (b x) = b (LinearMap.liftBaseChange S (R (map R S A B))) x
              noncomputable def KaehlerDifferential.derivationTensorProduct (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [h : Algebra.IsPushout R S A B] :

              (Implementation). The S-derivation B = S ⊗[R] A to S ⊗[R] Ω[A⁄R] sending a ⊗ b to a ⊗ d b.

              Equations
                Instances For
                  theorem KaehlerDifferential.derivationTensorProduct_algebraMap (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [Algebra.IsPushout R S A B] (x : A) :
                  (derivationTensorProduct R S A B) ((algebraMap A B) x) = 1 ⊗ₜ[R] (D R A) x
                  noncomputable def KaehlerDifferential.tensorKaehlerEquivBase (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [h : Algebra.IsPushout R S A B] :

                  The canonical isomorphism (S ⊗[R] Ω[A⁄R]) ≃ₗ[S] Ω[B⁄S] for B = S ⊗[R] A. Also see KaehlerDifferential.tensorKaehlerEquiv for the version with B ⊗[A] Ω[A⁄R].

                  Equations
                    Instances For
                      @[simp]
                      theorem KaehlerDifferential.tensorKaehlerEquivBase_symm_apply (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [h : Algebra.IsPushout R S A B] (a : Ω[BS]) :
                      @[simp]
                      theorem KaehlerDifferential.tensorKaehlerEquivBase_tmul (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [Algebra.IsPushout R S A B] (a : S) (b : Ω[AR]) :
                      (tensorKaehlerEquivBase R S A B) (a ⊗ₜ[R] b) = a (map R S A B) b
                      @[deprecated KaehlerDifferential.tensorKaehlerEquivBase_tmul (since := "2026-01-01")]
                      theorem KaehlerDifferential.tensorKaehlerEquiv_tmul (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [Algebra.IsPushout R S A B] (a : S) (b : Ω[AR]) :
                      (tensorKaehlerEquivBase R S A B) (a ⊗ₜ[R] b) = a (map R S A B) b

                      Alias of KaehlerDifferential.tensorKaehlerEquivBase_tmul.

                      theorem KaehlerDifferential.isBaseChange (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [h : Algebra.IsPushout R S A B] :
                      IsBaseChange S (R (map R S A B))

                      If B is the tensor product of S and A over R, then Ω[B⁄S] is the base change of Ω[A⁄R] along R → S.

                      instance KaehlerDifferential.isLocalizedModule (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] (p : Submonoid R) [IsLocalization p S] [IsLocalization (Algebra.algebraMapSubmonoid A p) B] :
                      IsLocalizedModule p (R (map R S A B))
                      noncomputable def KaehlerDifferential.tensorKaehlerEquiv (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [h : Algebra.IsPushout R S A B] :

                      The canonical isomorphism (B ⊗[A] Ω[A⁄R]) ≃ₗ[B] Ω[B⁄S] for B = S ⊗[R] A. Also see KaehlerDifferential.tensorKaehlerEquivBase for the version with S ⊗[R] Ω[A⁄R].

                      Equations
                        Instances For
                          @[simp]
                          theorem KaehlerDifferential.tensorKaehlerEquiv_tmul_D (R : Type u_1) (S : Type u_2) (A : Type u_3) (B : Type u_4) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [CommRing B] [Algebra R A] [Algebra R B] [Algebra A B] [Algebra S B] [IsScalarTower R A B] [IsScalarTower R S B] [Algebra.IsPushout R S A B] (b : B) (a : A) :
                          (tensorKaehlerEquiv R S A B) (b ⊗ₜ[A] (D R A) a) = b (D S B) ((algebraMap A B) a)
                          @[simp]
                          theorem KaehlerDifferential.tensorKaehlerEquiv_symm_D_tmul (R : Type u_1) (S : Type u_2) (A : Type u_3) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [Algebra R A] (s : S) (a : A) :
                          (tensorKaehlerEquiv R S A (TensorProduct R S A)).symm ((D S (TensorProduct R S A)) (s ⊗ₜ[R] a)) = (algebraMap S (TensorProduct R S A)) s ⊗ₜ[A] (D R A) a
                          @[simp]
                          theorem KaehlerDifferential.tensorKaehlerEquiv_symm_D_tmul' (R : Type u_1) (S : Type u_2) (A : Type u_3) [CommRing R] [CommRing S] [Algebra R S] [CommRing A] [Algebra R A] (s : S) (a : A) :
                          (tensorKaehlerEquiv R S A (TensorProduct R A S)).symm ((D S (TensorProduct R A S)) (a ⊗ₜ[R] s)) = (algebraMap S (TensorProduct R A S)) s ⊗ₜ[A] (D R A) a