@@ -113,6 +113,7 @@ theorem map_comp_residue (f : R →+* S) [IsLocalHom f] :
113113 (ResidueField.map f).comp (residue R) = (residue S).comp f :=
114114 rfl
115115
116+ @[simp]
116117theorem map_residue (f : R →+* S) [IsLocalHom f] (r : R) :
117118 ResidueField.map f (residue R r) = residue S (f r) :=
118119 rfl
@@ -206,6 +207,63 @@ lemma finite_of_finite [Module.Finite R S] (hfin : Finite (ResidueField R)) :
206207
207208end FiniteDimensional
208209
210+ omit [IsLocalRing R]
211+
212+ variable [Algebra R S] [Algebra R T]
213+
214+ /-- A local algebra homomorphism induces an algebra homomorphism on the residue fields.
215+
216+ See `mapAlgHom'` for a variant where the base ring `R` is also quotiented. -/
217+ noncomputable def mapAlgHom (e : S →ₐ[R] T) [IsLocalHom e] :
218+ ResidueField S →ₐ[R] ResidueField T where
219+ __ := map e
220+ commutes' x := by
221+ simp [IsScalarTower.algebraMap_apply R S (ResidueField S),
222+ IsScalarTower.algebraMap_apply R T (ResidueField T)]
223+
224+ @[simp]
225+ theorem mapAlgHom_residue (e : S →ₐ[R] T) [IsLocalHom e] (x : S) :
226+ mapAlgHom e (residue S x) = residue T (e x) :=
227+ rfl
228+
229+ /-- A local algebra isomorphism induces an algebra isomorphism on the residue fields.
230+
231+ See `mapAlgEquiv'` for a variant where the base ring `R` is also quotiented. -/
232+ noncomputable def mapAlgEquiv (e : S ≃ₐ[R] T) : ResidueField S ≃ₐ[R] ResidueField T where
233+ __ := mapAlgHom e.toAlgHom
234+ __ := mapEquiv e.toRingEquiv
235+
236+ @[simp]
237+ theorem mapAlgEquiv_residue (e : S ≃ₐ[R] T) (x : S) :
238+ mapAlgEquiv e (residue S x) = residue T (e x) :=
239+ rfl
240+
241+ variable [IsLocalHom (algebraMap R S)] [IsLocalHom (algebraMap R T)]
242+
243+ /-- A local algebra homomorphism induces an algebra homomorphism on the residue fields.
244+
245+ See `mapAlgHom` for a variant where the base ring `R` is not quotiented. -/
246+ noncomputable def mapAlgHom' (e : S →ₐ[R] T) [IsLocalHom e] :
247+ ResidueField S →ₐ[ResidueField R] ResidueField T :=
248+ (mapAlgHom e).extendScalarsOfSurjective residue_surjective
249+
250+ @[simp]
251+ theorem mapAlgHom'_residue [IsLocalRing R] (e : S →ₐ[R] T) [IsLocalHom e] (x : S) :
252+ mapAlgHom' e (residue S x) = residue T (e x) :=
253+ rfl
254+
255+ /-- A local algebra isomorphism induces an algebra isomorphism on the residue fields.
256+
257+ See `mapAlgEquiv` for a variant where the base ring `R` is not quotiented. -/
258+ noncomputable def mapAlgEquiv' (e : S ≃ₐ[R] T) :
259+ ResidueField S ≃ₐ[ResidueField R] ResidueField T :=
260+ (mapAlgEquiv e).extendScalarsOfSurjective residue_surjective
261+
262+ @[simp]
263+ theorem mapAlgEquiv'_residue [IsLocalRing R] (e : S ≃ₐ[R] T) (x : S) :
264+ mapAlgEquiv' e (residue S x) = residue T (e x) :=
265+ rfl
266+
209267end ResidueField
210268
211269end
0 commit comments