Residue Field of local rings #
We prove basic properties of the residue field of a local ring.
@[simp]
theorem
LocalRing.residue_eq_zero_iff
{R : Type u_1}
[CommRing R]
[LocalRing R]
(x : R)
:
(LocalRing.residue R) x = 0 ↔ x ∈ LocalRing.maximalIdeal R
theorem
LocalRing.residue_ne_zero_iff_isUnit
{R : Type u_1}
[CommRing R]
[LocalRing R]
(x : R)
:
(LocalRing.residue R) x ≠ 0 ↔ IsUnit x
Equations
instance
LocalRing.instIsLocalRingHomResidueFieldResidue
(R : Type u_1)
[CommRing R]
[LocalRing R]
:
Equations
- ⋯ = ⋯
def
LocalRing.ResidueField.lift
{R : Type u_4}
{S : Type u_5}
[CommRing R]
[LocalRing R]
[Field S]
(f : R →+* S)
[IsLocalRingHom f]
:
A local ring homomorphism into a field can be descended onto the residue field.
Equations
Instances For
theorem
LocalRing.ResidueField.lift_comp_residue
{R : Type u_4}
{S : Type u_5}
[CommRing R]
[LocalRing R]
[Field S]
(f : R →+* S)
[IsLocalRingHom f]
:
(LocalRing.ResidueField.lift f).comp (LocalRing.residue R) = f
@[simp]
theorem
LocalRing.ResidueField.lift_residue_apply
{R : Type u_4}
{S : Type u_5}
[CommRing R]
[LocalRing R]
[Field S]
(f : R →+* S)
[IsLocalRingHom f]
(x : R)
:
(LocalRing.ResidueField.lift f) ((LocalRing.residue R) x) = f x
def
LocalRing.ResidueField.map
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
(f : R →+* S)
[IsLocalRingHom f]
:
The map on residue fields induced by a local homomorphism between local rings
Equations
- LocalRing.ResidueField.map f = Ideal.Quotient.lift (LocalRing.maximalIdeal R) ((Ideal.Quotient.mk (LocalRing.maximalIdeal S)).comp f) ⋯
Instances For
@[simp]
Applying LocalRing.ResidueField.map
to the identity ring homomorphism gives the identity
ring homomorphism.
theorem
LocalRing.ResidueField.map_comp
{R : Type u_1}
{S : Type u_2}
{T : Type u_3}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
[CommRing T]
[LocalRing T]
(f : T →+* R)
(g : R →+* S)
[IsLocalRingHom f]
[IsLocalRingHom g]
:
LocalRing.ResidueField.map (g.comp f) = (LocalRing.ResidueField.map g).comp (LocalRing.ResidueField.map f)
The composite of two LocalRing.ResidueField.map
s is the LocalRing.ResidueField.map
of the
composite.
theorem
LocalRing.ResidueField.map_comp_residue
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
(f : R →+* S)
[IsLocalRingHom f]
:
(LocalRing.ResidueField.map f).comp (LocalRing.residue R) = (LocalRing.residue S).comp f
theorem
LocalRing.ResidueField.map_residue
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
(f : R →+* S)
[IsLocalRingHom f]
(r : R)
:
(LocalRing.ResidueField.map f) ((LocalRing.residue R) r) = (LocalRing.residue S) (f r)
theorem
LocalRing.ResidueField.map_id_apply
{R : Type u_1}
[CommRing R]
[LocalRing R]
(x : LocalRing.ResidueField R)
:
(LocalRing.ResidueField.map (RingHom.id R)) x = x
@[simp]
theorem
LocalRing.ResidueField.map_map
{R : Type u_1}
{S : Type u_2}
{T : Type u_3}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
[CommRing T]
[LocalRing T]
(f : R →+* S)
(g : S →+* T)
(x : LocalRing.ResidueField R)
[IsLocalRingHom f]
[IsLocalRingHom g]
:
(LocalRing.ResidueField.map g) ((LocalRing.ResidueField.map f) x) = (LocalRing.ResidueField.map (g.comp f)) x
@[simp]
theorem
LocalRing.ResidueField.mapEquiv_apply
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
(f : R ≃+* S)
(a : LocalRing.ResidueField R)
:
(LocalRing.ResidueField.mapEquiv f) a = (LocalRing.ResidueField.map ↑f) a
def
LocalRing.ResidueField.mapEquiv
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
(f : R ≃+* S)
:
A ring isomorphism defines an isomorphism of residue fields.
Equations
- LocalRing.ResidueField.mapEquiv f = { toFun := ⇑(LocalRing.ResidueField.map ↑f), invFun := ⇑(LocalRing.ResidueField.map ↑f.symm), left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯, map_add' := ⋯ }
Instances For
@[simp]
theorem
LocalRing.ResidueField.mapEquiv.symm
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
(f : R ≃+* S)
:
(LocalRing.ResidueField.mapEquiv f).symm = LocalRing.ResidueField.mapEquiv f.symm
@[simp]
theorem
LocalRing.ResidueField.mapEquiv_trans
{R : Type u_1}
{S : Type u_2}
{T : Type u_3}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
[CommRing T]
[LocalRing T]
(e₁ : R ≃+* S)
(e₂ : S ≃+* T)
:
LocalRing.ResidueField.mapEquiv (e₁.trans e₂) = (LocalRing.ResidueField.mapEquiv e₁).trans (LocalRing.ResidueField.mapEquiv e₂)
@[simp]
@[simp]
theorem
LocalRing.ResidueField.mapAut_apply
{R : Type u_1}
[CommRing R]
[LocalRing R]
(f : R ≃+* R)
:
LocalRing.ResidueField.mapAut f = LocalRing.ResidueField.mapEquiv f
instance
LocalRing.ResidueField.instMulSemiringAction
{R : Type u_1}
[CommRing R]
[LocalRing R]
(G : Type u_4)
[Group G]
[MulSemiringAction G R]
:
If G
acts on R
as a MulSemiringAction
, then it also acts on LocalRing.ResidueField R
.
Equations
- LocalRing.ResidueField.instMulSemiringAction G = MulSemiringAction.compHom (LocalRing.ResidueField R) (LocalRing.ResidueField.mapAut.comp (MulSemiringAction.toRingAut G R))
@[simp]
theorem
LocalRing.ResidueField.residue_smul
{R : Type u_1}
[CommRing R]
[LocalRing R]
(G : Type u_4)
[Group G]
[MulSemiringAction G R]
(g : G)
(r : R)
:
(LocalRing.residue R) (g • r) = g • (LocalRing.residue R) r