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
instance
LocalRing.ResidueField.algebra
(R : Type u_1)
[CommRing R]
[LocalRing R]
{R₀ : Type u_4}
[CommRing R₀]
[Algebra R₀ R]
:
Algebra R₀ (LocalRing.ResidueField R)
Equations
instance
LocalRing.instIsScalarTowerResidueField
(R : Type u_1)
[CommRing R]
[LocalRing 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₂ (LocalRing.ResidueField R)
Equations
- ⋯ = ⋯
@[simp]
instance
LocalRing.instIsLocalHomResidueFieldRingHomResidue
(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)
[IsLocalHom 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)
[IsLocalHom 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)
[IsLocalHom 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)
[IsLocalHom 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)
[IsLocalHom f]
[IsLocalHom 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)
[IsLocalHom 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)
[IsLocalHom 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)
[IsLocalHom f]
[IsLocalHom g]
:
(LocalRing.ResidueField.map g) ((LocalRing.ResidueField.map f) x) = (LocalRing.ResidueField.map (g.comp f)) x
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_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
@[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
noncomputable instance
LocalRing.ResidueField.instAlgebra
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
[Algebra R S]
[IsLocalHom (algebraMap R S)]
:
Equations
- LocalRing.ResidueField.instAlgebra = (LocalRing.ResidueField.map (algebraMap R S)).toAlgebra
noncomputable instance
LocalRing.ResidueField.instAlgebra_1
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
[Algebra R S]
[IsLocalHom (algebraMap R S)]
:
Equations
- LocalRing.ResidueField.instAlgebra_1 = ((LocalRing.ResidueField.map (algebraMap R S)).comp (LocalRing.residue R)).toAlgebra
instance
LocalRing.ResidueField.instIsScalarTower
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
[Algebra R S]
[IsLocalHom (algebraMap R S)]
:
Equations
- ⋯ = ⋯
instance
LocalRing.ResidueField.finiteDimensional_of_noetherian
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
[Algebra R S]
[IsLocalHom (algebraMap R S)]
[IsNoetherian R S]
:
Equations
- ⋯ = ⋯
theorem
LocalRing.ResidueField.finite_of_finite
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[LocalRing R]
[CommRing S]
[LocalRing S]
[Algebra R S]
[IsLocalHom (algebraMap R S)]
[IsNoetherian R S]
(hfin : Finite (LocalRing.ResidueField R))
:
@[deprecated LocalRing.isLocalHom_residue]
Alias of LocalRing.isLocalHom_residue
.