English
The construction compLocalizationAwayAlgHom is defined as the R-algebra homomorphism from the algebra generated by P to Localization.Away, built via the evaluation that maps X_i to the corresponding elements and Y to the inverse of g.
Русский
Конструкция compLocalizationAwayAlgHom задаёт R-алгебровое отображение from P-generated алгебры в Localization.Away, равное отображению X_i в соответствующие элементы и Y в обратное от g.
LaTeX
$$$compLocalizationAwayAlgHom : ((Generators.localizationAway T g).comp P).Ring \\to Localization.Away ( ... )$$$
Lean4
/-- Let `R → S → T` be algebras such that `T` is the localization of `S` away from one
element, where `S` is generated over `R` by `P` with kernel `I` and `Q` is the
canonical `S`-presentation of `T`. Denote by `J` the kernel of the composition
`R[X,Y] → T`. Then `T ⊗[S] (I/I²) → J/J²` is injective.
-/
@[stacks 08JZ "part of (1)"]
theorem liftBaseChange_injective_of_isLocalizationAway :
Function.Injective
(LinearMap.liftBaseChange T
(Extension.Cotangent.map ((Generators.localizationAway T g).toComp P).toExtensionHom)) :=
by
set Q := Generators.localizationAway T g
algebraize [((Generators.localizationAway T g).toComp P).toAlgHom.toRingHom]
let f : P.Ring ⧸ P.ker ^ 2 := P.σ g
let π := compLocalizationAwayAlgHom T g P
refine
IsLocalizedModule.injective_of_map_zero (Submonoid.powers g) (TensorProduct.mk S T P.toExtension.Cotangent 1)
(fun x hx ↦ ?_)
obtain ⟨x, rfl⟩ := Algebra.Extension.Cotangent.mk_surjective x
suffices h : algebraMap P.Ring (Localization.Away f) x.val = 0
by
rw [IsScalarTower.algebraMap_apply _ (P.Ring ⧸ P.ker ^ 2) _,
IsLocalization.map_eq_zero_iff (Submonoid.powers f) (Localization.Away f)] at h
obtain ⟨⟨m, ⟨n, rfl⟩⟩, hm⟩ := h
rw [IsLocalizedModule.eq_zero_iff (Submonoid.powers g)]
use ⟨g ^ n, n, rfl⟩
dsimp [f] at hm
rw [← map_pow, ← map_mul, Ideal.Quotient.eq_zero_iff_mem] at hm
simp only [Submonoid.smul_def]
rw [show g = algebraMap P.Ring S (P.σ g) by simp, ← map_pow, algebraMap_smul, ← map_smul,
Extension.Cotangent.mk_eq_zero_iff]
simpa using hm
rw [← compLocalizationAwayAlgHom_toAlgHom_toComp (T := T)]
apply sq_ker_comp_le_ker_compLocalizationAwayAlgHom
simpa only [LinearEquiv.coe_coe, LinearMap.ringLmapEquivSelf_symm_apply, mk_apply, lift.tmul,
LinearMap.coe_restrictScalars, LinearMap.coe_smulRight, Module.End.one_apply, LinearMap.smul_apply, one_smul,
Algebra.Extension.Cotangent.map_mk, Extension.Cotangent.mk_eq_zero_iff] using hx