# Residue Field of local rings #

We prove basic properties of the residue field of a local ring.

source
theorem IsLocalRing.residue_def {R : Type u_1} [CommRing R] [IsLocalRing R] (x : R) :
(residue R) x = (Ideal.Quotient.mk (maximalIdeal R)) x
source
theorem IsLocalRing.ker_residue {R : Type u_1} [CommRing R] [IsLocalRing R] :
RingHom.ker (residue R) = maximalIdeal R
source
@[simp]
theorem IsLocalRing.residue_eq_zero_iff {R : Type u_1} [CommRing R] [IsLocalRing R] (x : R) :
(residue R) x = 0 ↔ x ∈ maximalIdeal R
source
theorem IsLocalRing.residue_ne_zero_iff_isUnit {R : Type u_1} [CommRing R] [IsLocalRing R] (x : R) :
(residue R) x ≠ 0 ↔ IsUnit x
source
theorem IsLocalRing.residue_surjective {R : Type u_1} [CommRing R] [IsLocalRing R] :
Function.Surjective ⇑(residue R)
source
instance IsLocalRing.ResidueField.algebra (R : Type u_1) [CommRing R] [IsLocalRing R] {R₀ : Type u_4} [CommRing R₀] [Algebra R₀ R] :
Algebra R₀ (ResidueField R)
Equations

- IsLocalRing.ResidueField.algebra R = Ideal.Quotient.algebra R₀

source
instance IsLocalRing.instIsScalarTowerResidueField (R : Type u_1) [CommRing R] [IsLocalRing R] {R₁ : Type u_4} {R₂ : Type u_5} [CommRing R₁] [CommRing R₂] [Algebra R₁ R₂] [Algebra R₁ R] [Algebra R₂ R] [IsScalarTower R₁ R₂ R] :
IsScalarTower R₁ R₂ (ResidueField R)
source
@[simp]
theorem IsLocalRing.ResidueField.algebraMap_eq (R : Type u_1) [CommRing R] [IsLocalRing R] :
algebraMap R (ResidueField R) = residue R
source
instance IsLocalRing.instIsLocalHomResidueFieldRingHomResidue (R : Type u_1) [CommRing R] [IsLocalRing R] :
IsLocalHom (residue R)
source
instance IsLocalRing.instFiniteResidueField (R : Type u_1) [CommRing R] [IsLocalRing R] {R₀ : Type u_4} [CommRing R₀] [Algebra R₀ R] [Module.Finite R₀ R] :
Module.Finite R₀ (ResidueField R)
source
def IsLocalRing.ResidueField.lift {R : Type u_4} {S : Type u_5} [CommRing R] [IsLocalRing R] [Field S] (f : R →+* S) [IsLocalHom f] :
ResidueField R →+* S

A local ring homomorphism into a field can be descended onto the residue field.

Equations

- IsLocalRing.ResidueField.lift f = Ideal.Quotient.lift (IsLocalRing.maximalIdeal R) f ⋯

Instances For

source
theorem IsLocalRing.ResidueField.lift_comp_residue {R : Type u_4} {S : Type u_5} [CommRing R] [IsLocalRing R] [Field S] (f : R →+* S) [IsLocalHom f] :
(lift f).comp (residue R) = f
source
@[simp]
theorem IsLocalRing.ResidueField.lift_residue_apply {R : Type u_4} {S : Type u_5} [CommRing R] [IsLocalRing R] [Field S] (f : R →+* S) [IsLocalHom f] (x : R) :
(lift f) ((residue R) x) = f x
source
noncomputable def IsLocalRing.ResidueField.map {R : Type u_1} {S : Type u_2} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] (f : R →+* S) [IsLocalHom f] :
ResidueField R →+* ResidueField S

The map on residue fields induced by a local homomorphism between local rings

Equations

- IsLocalRing.ResidueField.map f = Ideal.Quotient.lift (IsLocalRing.maximalIdeal R) ((Ideal.Quotient.mk (IsLocalRing.maximalIdeal S)).comp f) ⋯

Instances For

source
@[simp]
theorem IsLocalRing.ResidueField.map_id {R : Type u_1} [CommRing R] [IsLocalRing R] :
map (RingHom.id R) = RingHom.id (ResidueField R)

Applying `IsLocalRing.ResidueField.map` to the identity ring homomorphism gives the identity ring homomorphism.

source
theorem IsLocalRing.ResidueField.map_comp {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] [CommRing T] [IsLocalRing T] (f : T →+* R) (g : R →+* S) [IsLocalHom f] [IsLocalHom g] :
map (g.comp f) = (map g).comp (map f)

The composite of two `IsLocalRing.ResidueField.map`s is the `IsLocalRing.ResidueField.map` of the composite.

source
theorem IsLocalRing.ResidueField.map_comp_residue {R : Type u_1} {S : Type u_2} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] (f : R →+* S) [IsLocalHom f] :
(map f).comp (residue R) = (residue S).comp f
source
theorem IsLocalRing.ResidueField.map_residue {R : Type u_1} {S : Type u_2} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] (f : R →+* S) [IsLocalHom f] (r : R) :
(map f) ((residue R) r) = (residue S) (f r)
source
theorem IsLocalRing.ResidueField.map_id_apply {R : Type u_1} [CommRing R] [IsLocalRing R] (x : ResidueField R) :
(map (RingHom.id R)) x = x
source
@[simp]
theorem IsLocalRing.ResidueField.map_map {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] [CommRing T] [IsLocalRing T] (f : R →+* S) (g : S →+* T) (x : ResidueField R) [IsLocalHom f] [IsLocalHom g] :
(map g) ((map f) x) = (map (g.comp f)) x
source
noncomputable def IsLocalRing.ResidueField.mapEquiv {R : Type u_1} {S : Type u_2} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] (f : R ≃+* S) :
ResidueField R ≃+* ResidueField S

A ring isomorphism defines an isomorphism of residue fields.

Equations

- One or more equations did not get rendered due to their size.

Instances For

source
@[simp]
theorem IsLocalRing.ResidueField.mapEquiv_apply {R : Type u_1} {S : Type u_2} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] (f : R ≃+* S) (a : ResidueField R) :
(mapEquiv f) a = (map ↑f) a
source
@[simp]
theorem IsLocalRing.ResidueField.mapEquiv.symm {R : Type u_1} {S : Type u_2} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] (f : R ≃+* S) :
(mapEquiv f).symm = mapEquiv f.symm
source
@[simp]
theorem IsLocalRing.ResidueField.mapEquiv_trans {R : Type u_1} {S : Type u_2} {T : Type u_3} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] [CommRing T] [IsLocalRing T] (e₁ : R ≃+* S) (e₂ : S ≃+* T) :
mapEquiv (e₁.trans e₂) = (mapEquiv e₁).trans (mapEquiv e₂)
source
@[simp]
theorem IsLocalRing.ResidueField.mapEquiv_refl {R : Type u_1} [CommRing R] [IsLocalRing R] :
mapEquiv (RingEquiv.refl R) = RingEquiv.refl (ResidueField R)
source
noncomputable def IsLocalRing.ResidueField.mapAut {R : Type u_1} [CommRing R] [IsLocalRing R] :
RingAut R →* RingAut (ResidueField R)

The group homomorphism from `RingAut R` to `RingAut k` where `k` is the residue field of `R`.

Equations

- IsLocalRing.ResidueField.mapAut = { toFun := IsLocalRing.ResidueField.mapEquiv, map_one' := ⋯, map_mul' := ⋯ }

Instances For

source
@[simp]
theorem IsLocalRing.ResidueField.mapAut_apply {R : Type u_1} [CommRing R] [IsLocalRing R] (f : R ≃+* R) :
mapAut f = mapEquiv f
source
noncomputable instance IsLocalRing.ResidueField.instMulSemiringAction {R : Type u_1} [CommRing R] [IsLocalRing R] (G : Type u_4) [Group G] [MulSemiringAction G R] :
MulSemiringAction G (ResidueField R)

If `G` acts on `R` as a `MulSemiringAction`, then it also acts on `IsLocalRing.ResidueField R`.

Equations

- IsLocalRing.ResidueField.instMulSemiringAction G = MulSemiringAction.compHom (IsLocalRing.ResidueField R) (IsLocalRing.ResidueField.mapAut.comp (MulSemiringAction.toRingAut G R))

source
@[simp]
theorem IsLocalRing.ResidueField.residue_smul {R : Type u_1} [CommRing R] [IsLocalRing R] (G : Type u_4) [Group G] [MulSemiringAction G R] (g : G) (r : R) :
(residue R) (g • r) = g • (residue R) r
source
noncomputable instance IsLocalRing.ResidueField.instAlgebra {R : Type u_1} {S : Type u_2} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] [Algebra R S] [IsLocalHom (algebraMap R S)] :
Algebra (ResidueField R) (ResidueField S)
Equations

- IsLocalRing.ResidueField.instAlgebra = (IsLocalRing.ResidueField.map (algebraMap R S)).toAlgebra

source
instance IsLocalRing.ResidueField.instIsScalarTower {R : Type u_1} {S : Type u_2} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] [Algebra R S] [IsLocalHom (algebraMap R S)] :
IsScalarTower R (ResidueField R) (ResidueField S)
source
instance IsLocalRing.ResidueField.finite_of_module_finite {R : Type u_1} {S : Type u_2} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] [Algebra R S] [IsLocalHom (algebraMap R S)] [Module.Finite R S] :
Module.Finite (ResidueField R) (ResidueField S)
source
theorem IsLocalRing.ResidueField.finite_of_finite {R : Type u_1} {S : Type u_2} [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S] [Algebra R S] [IsLocalHom (algebraMap R S)] [Module.Finite R S] (hfin : Finite (ResidueField R)) :
Finite (ResidueField S)
source
@[deprecated IsLocalRing.instIsLocalHomResidueFieldRingHomResidue (since := "2025-10-06")]
theorem IsLocalRing.isLocalHom_residue (R : Type u_1) [CommRing R] [IsLocalRing R] :
IsLocalHom (residue R)

Alias of `IsLocalRing.instIsLocalHomResidueFieldRingHomResidue`.