File: Mathlib/RingTheory/LocalRing/ResidueField/Basic.lean

full_name: LocalRing.ker_residue
code: lemma ker_residue : RingHom.ker (residue R) = maximalIdeal R 
goal: RingHom.ker (LocalRing.residue R) = LocalRing.maximalIdeal R

full_name: LocalRing.residue_eq_zero_iff
code: @[simp]
lemma residue_eq_zero_iff (x : R) : residue R x = 0 ↔ x ∈ maximalIdeal R 
goal: (LocalRing.residue R) x = 0 ↔ x ∈ LocalRing.maximalIdeal R

full_name: LocalRing.residue_ne_zero_iff_isUnit
code: lemma residue_ne_zero_iff_isUnit (x : R) : residue R x ≠ 0 ↔ IsUnit x 
goal: (LocalRing.residue R) x ≠ 0 ↔ IsUnit x

full_name: LocalRing.ResidueField.algebra
code: instance ResidueField.algebra : Algebra R (ResidueField R) 
goal: Algebra R (LocalRing.ResidueField R)

full_name: LocalRing.ResidueField.algebraMap_eq
code: theorem ResidueField.algebraMap_eq : algebraMap R (ResidueField R) = residue R 
goal: algebraMap R (LocalRing.ResidueField R) = LocalRing.residue R

full_name: LocalRing.instIsLocalRingHomResidueFieldResidue
code: instance : IsLocalRingHom (LocalRing.residue R) 
goal: IsLocalRingHom (LocalRing.residue R)

full_name: LocalRing.ResidueField.lift
code: /-- A local ring homomorphism into a field can be descended onto the residue field. -/
def lift {R S : Type*} [CommRing R] [LocalRing R] [Field S] (f : R →+* S) [IsLocalRingHom f] :
    LocalRing.ResidueField R →+* S 
goal: LocalRing.ResidueField R →+* S

full_name: LocalRing.ResidueField.lift_comp_residue
code: theorem lift_comp_residue {R S : Type*} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
    [IsLocalRingHom f] : (lift f).comp (residue R) = f 
goal: (LocalRing.ResidueField.lift f).comp (LocalRing.residue R) = f

full_name: LocalRing.ResidueField.lift_residue_apply
code: @[simp]
theorem lift_residue_apply {R S : Type*} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
    [IsLocalRingHom f] (x) : lift f (residue R x) = f x 
goal: (LocalRing.ResidueField.lift f) ((LocalRing.residue R) x) = f x

full_name: LocalRing.ResidueField.map
code: /-- The map on residue fields induced by a local homomorphism between local rings -/
def map (f : R →+* S) [IsLocalRingHom f] : ResidueField R →+* ResidueField S 
goal: LocalRing.ResidueField R →+* LocalRing.ResidueField S

full_name: LocalRing.ResidueField.map_id
code: /-- Applying `LocalRing.ResidueField.map` to the identity ring homomorphism gives the identity
ring homomorphism. -/
@[simp]
theorem map_id :
    LocalRing.ResidueField.map (RingHom.id R) = RingHom.id (LocalRing.ResidueField R) 
goal: LocalRing.ResidueField.map (RingHom.id R) = RingHom.id (LocalRing.ResidueField R)

full_name: LocalRing.ResidueField.map_comp
code: /-- The composite of two `LocalRing.ResidueField.map`s is the `LocalRing.ResidueField.map` of the
composite. -/
theorem map_comp (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) 
goal: LocalRing.ResidueField.map (g.comp f) = (LocalRing.ResidueField.map g).comp (LocalRing.ResidueField.map f)

full_name: LocalRing.ResidueField.map_comp_residue
code: theorem map_comp_residue (f : R →+* S) [IsLocalRingHom f] :
    (ResidueField.map f).comp (residue R) = (residue S).comp f 
goal: (LocalRing.ResidueField.map f).comp (LocalRing.residue R) = (LocalRing.residue S).comp f

full_name: LocalRing.ResidueField.map_residue
code: theorem map_residue (f : R →+* S) [IsLocalRingHom f] (r : R) :
    ResidueField.map f (residue R r) = residue S (f r) 
goal: (LocalRing.ResidueField.map f) ((LocalRing.residue R) r) = (LocalRing.residue S) (f r)

full_name: LocalRing.ResidueField.map_id_apply
code: theorem map_id_apply (x : ResidueField R) : map (RingHom.id R) x = x 
goal: (LocalRing.ResidueField.map (RingHom.id R)) x = x

full_name: LocalRing.ResidueField.map_map
code: @[simp]
theorem map_map (f : R →+* S) (g : S →+* T) (x : ResidueField R) [IsLocalRingHom f]
    [IsLocalRingHom g] : map g (map f x) = map (g.comp f) x 
goal: (LocalRing.ResidueField.map g) ((LocalRing.ResidueField.map f) x) = (LocalRing.ResidueField.map (g.comp f)) x

full_name: LocalRing.ResidueField.mapEquiv
code: /-- A ring isomorphism defines an isomorphism of residue fields. -/
@[simps apply]
def mapEquiv (f : R ≃+* S) : LocalRing.ResidueField R ≃+* LocalRing.ResidueField S 
goal: LocalRing.ResidueField R ≃+* LocalRing.ResidueField S

full_name: LocalRing.ResidueField.mapEquiv_apply
code: /-- A ring isomorphism defines an isomorphism of residue fields. -/
@[simps apply]
def mapEquiv (f : R ≃+* S) : LocalRing.ResidueField R ≃+* LocalRing.ResidueField S 
goal: (LocalRing.ResidueField.mapEquiv f) a = (LocalRing.ResidueField.map ↑f) a

full_name: LocalRing.ResidueField.mapEquiv.symm
code: @[simp]
theorem mapEquiv.symm (f : R ≃+* S) : (mapEquiv f).symm = mapEquiv f.symm 
goal: (LocalRing.ResidueField.mapEquiv f).symm = LocalRing.ResidueField.mapEquiv f.symm

full_name: LocalRing.ResidueField.mapEquiv_trans
code: @[simp]
theorem mapEquiv_trans (e₁ : R ≃+* S) (e₂ : S ≃+* T) :
    mapEquiv (e₁.trans e₂) = (mapEquiv e₁).trans (mapEquiv e₂) 
goal: LocalRing.ResidueField.mapEquiv (e₁.trans e₂) =
  (LocalRing.ResidueField.mapEquiv e₁).trans (LocalRing.ResidueField.mapEquiv e₂)

full_name: LocalRing.ResidueField.mapEquiv_refl
code: @[simp]
theorem mapEquiv_refl : mapEquiv (RingEquiv.refl R) = RingEquiv.refl _ 
goal: LocalRing.ResidueField.mapEquiv (RingEquiv.refl R) = RingEquiv.refl (LocalRing.ResidueField R)

full_name: LocalRing.ResidueField.mapAut
code: /-- The group homomorphism from `RingAut R` to `RingAut k` where `k`
is the residue field of `R`. -/
@[simps]
def mapAut : RingAut R →* RingAut (LocalRing.ResidueField R) 
goal: RingAut R →* RingAut (LocalRing.ResidueField R)

full_name: LocalRing.ResidueField.mapAut_apply
code: /-- The group homomorphism from `RingAut R` to `RingAut k` where `k`
is the residue field of `R`. -/
@[simps]
def mapAut : RingAut R →* RingAut (LocalRing.ResidueField R) 
goal: LocalRing.ResidueField.mapAut f = LocalRing.ResidueField.mapEquiv f

full_name: LocalRing.ResidueField.instMulSemiringAction
code: /-- If `G` acts on `R` as a `MulSemiringAction`, then it also acts on `LocalRing.ResidueField R`. -/
instance : MulSemiringAction G (LocalRing.ResidueField R) 
goal: MulSemiringAction G (LocalRing.ResidueField R)

full_name: LocalRing.ResidueField.residue_smul
code: @[simp]
theorem residue_smul (g : G) (r : R) : residue R (g • r) = g • residue R r 
goal: (LocalRing.residue R) (g • r) = g • (LocalRing.residue R) r

full_name: LocalRing.isLocalRingHom_residue
code: theorem isLocalRingHom_residue : IsLocalRingHom (LocalRing.residue R) 
goal: IsLocalRingHom (LocalRing.residue R)