English
There is a canonical way to endow the underlying Ring of an algebra extension P.Ring with a compatible algebra structure over any base‑ring R0 when R0 → R is an algebra and R → S forms a tower with S. The tower axiom ensures coherent scalar actions across the extension.
Русский
Существует канонический способ наделить базовую структуру кольца P.Ring таким образом, чтобы она была совместима с базовой структурой кольца R0 при наличии изоморфной цепи тензоров; принцип башни обеспечивает когерентность скалярных действий по расширению.
LaTeX
$$$IsScalarTower R0 R P.Ring$$$
Lean4
theorem tensorH1CotangentOfIsLocalization_toLinearMap (M : Submonoid S) [IsLocalization M T] :
(tensorH1CotangentOfIsLocalization R T M).toLinearMap = (Algebra.H1Cotangent.map R R S T).liftBaseChange T :=
by
ext x : 3
simp only [AlgebraTensorModule.curry_apply, curry_apply, LinearMap.coe_restrictScalars, LinearEquiv.coe_coe,
LinearMap.liftBaseChange_tmul, one_smul]
simp only [tensorH1CotangentOfIsLocalization, Generators.toExtension_Ring, Generators.toExtension_commRing,
Generators.toExtension_algebra₂, Extension.tensorH1Cotangent, LinearEquiv.ofBijective_apply,
LinearMap.liftBaseChange_tmul, one_smul, Extension.equivH1CotangentOfFormallySmooth, LinearEquiv.trans_apply]
letI P : Extension R S := (Generators.self R S).toExtension
letI M' := M.comap (algebraMap P.Ring S)
letI fQ : Localization M' →ₐ[R] T :=
IsLocalization.liftAlgHom (M := M') (f := (IsScalarTower.toAlgHom R S T).comp (IsScalarTower.toAlgHom R P.Ring S))
(fun ⟨y, hy⟩ ↦ by simpa using IsLocalization.map_units T ⟨algebraMap P.Ring S y, hy⟩)
letI Q : Extension R T :=
.ofSurjective fQ
(by
intro x
obtain ⟨x, ⟨s, hs⟩, rfl⟩ := IsLocalization.mk'_surjective M x
obtain ⟨x, rfl⟩ := P.algebraMap_surjective x
obtain ⟨s, rfl⟩ := P.algebraMap_surjective s
refine ⟨IsLocalization.mk' _ x ⟨s, show s ∈ M' from hs⟩, ?_⟩
simp only [fQ, IsLocalization.coe_liftAlgHom, AlgHom.toRingHom_eq_coe]
rw [IsLocalization.lift_mk'_spec]
simp)
letI f : (Generators.self R T).toExtension.Hom Q :=
{ toRingHom := (MvPolynomial.aeval Q.σ).toRingHom
toRingHom_algebraMap := (MvPolynomial.aeval Q.σ).commutes
algebraMap_toRingHom :=
by
have :
(IsScalarTower.toAlgHom R Q.Ring T).comp (MvPolynomial.aeval Q.σ) =
IsScalarTower.toAlgHom _ (Generators.self R T).toExtension.Ring _ :=
by
ext i
change _ = algebraMap (Generators.self R T).Ring _ (.X i)
simp
exact DFunLike.congr_fun this }
rw [← Extension.H1Cotangent.equivOfFormallySmooth_symm, LinearEquiv.symm_apply_eq,
@Extension.H1Cotangent.equivOfFormallySmooth_apply (f := f), Algebra.H1Cotangent.map, ←
(Extension.H1Cotangent.map f).coe_restrictScalars S, ← LinearMap.comp_apply, ← Extension.H1Cotangent.map_comp,
Extension.H1Cotangent.map_eq]