Module

ResidueField.lean

Nyll.ValuedFieldTheory.Valuation.DiscreteValuationField.ResidueField
28 declarations indexed from sourceView source ↗

Residue-field API for local maps

This file adds reusable local-ring residue-field lemmas that are used by the Henselian and unramified parts of the DVF library. It keeps mathlib's IsLocalRing.ResidueField.map and IsLocalRing.residue as the primary objects.

Declarations

ValuationTheory.DiscreteValuationField.ResidueField.residue_eq_residue_iff_sub_mem_maximalIdeal

Equality in the residue field is equality modulo the maximal ideal.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalRing
variable [CommRing R] [IsLocalRing R]
theorem residue_eq_residue_iff_sub_mem_maximalIdeal (x y : R) :
    IsLocalRing.residue R x = IsLocalRing.residue R y ↔
      x - y ∈ IsLocalRing.maximalIdeal R
ValuationTheory.DiscreteValuationField.ResidueField.residue_sub_eq_zero_iff

The residue of a difference is zero exactly when the two residues are equal.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalRing
variable [CommRing R] [IsLocalRing R]
theorem residue_sub_eq_zero_iff (x y : R) :
    IsLocalRing.residue R (x - y) = 0 ↔
      IsLocalRing.residue R x = IsLocalRing.residue R y
ValuationTheory.DiscreteValuationField.ResidueField.lift_eq_of_comp_residue_eq

The map from the residue field induced by a local homomorphism to a field is uniquely characterized by its composite with the residue map.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section FieldLift
variable [CommRing R] [IsLocalRing R] [Field S]
variable (f : R →+* S) [IsLocalHom f]
theorem lift_eq_of_comp_residue_eq
    (g : IsLocalRing.ResidueField R →+* S)
    (hg : g.comp (IsLocalRing.residue R) = f) :
    g = IsLocalRing.ResidueField.lift f
ValuationTheory.DiscreteValuationField.ResidueField.comap_maximalIdeal_eq

A local homomorphism pulls back the target maximal ideal to the source maximal ideal.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalHom
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable (f : R →+* S) [IsLocalHom f]
theorem comap_maximalIdeal_eq :
    (IsLocalRing.maximalIdeal S).comap f = IsLocalRing.maximalIdeal R
ValuationTheory.DiscreteValuationField.ResidueField.map_injective

A local homomorphism induces an injective map on residue fields.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalHom
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable (f : R →+* S) [IsLocalHom f]
theorem map_injective :
    Function.Injective (IsLocalRing.ResidueField.map f)
ValuationTheory.DiscreteValuationField.ResidueField.map_eq_zero_iff

A residue-field map induced by a local homomorphism has trivial kernel.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalHom
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable (f : R →+* S) [IsLocalHom f]
theorem map_eq_zero_iff (x : IsLocalRing.ResidueField R) :
    IsLocalRing.ResidueField.map f x = 0 ↔ x = 0
ValuationTheory.DiscreteValuationField.ResidueField.map_eq_map_iff

Equality can be checked after applying the residue-field map induced by a local homomorphism.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalHom
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable (f : R →+* S) [IsLocalHom f]
theorem map_eq_map_iff (x y : IsLocalRing.ResidueField R) :
    IsLocalRing.ResidueField.map f x = IsLocalRing.ResidueField.map f y ↔
      x = y
ValuationTheory.DiscreteValuationField.ResidueField.ringEquivOfSurjective

The residue-field isomorphism induced by a surjective residue-field map coming from a local homomorphism.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalHom
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable (f : R →+* S) [IsLocalHom f]
def ringEquivOfSurjective
    (hsurj : Function.Surjective (IsLocalRing.ResidueField.map f)) :
    IsLocalRing.ResidueField R ≃+* IsLocalRing.ResidueField S
ValuationTheory.DiscreteValuationField.ResidueField.ringEquivOfSurjective_apply

The residue-ring equivalence induced by a surjective map evaluates by that map.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalHom
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable (f : R →+* S) [IsLocalHom f]
theorem ringEquivOfSurjective_apply
    (hsurj : Function.Surjective (IsLocalRing.ResidueField.map f))
    (x : IsLocalRing.ResidueField R) :
    ringEquivOfSurjective f hsurj x =
      IsLocalRing.ResidueField.map f x
ValuationTheory.DiscreteValuationField.ResidueField.residue_map_eq_zero_iff

A local homomorphism preserves and reflects zero residues.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalHom
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable (f : R →+* S) [IsLocalHom f]
theorem residue_map_eq_zero_iff (x : R) :
    IsLocalRing.residue S (f x) = 0 ↔ IsLocalRing.residue R x = 0
ValuationTheory.DiscreteValuationField.ResidueField.residue_map_eq_iff

A local homomorphism preserves and reflects equality of residues.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalHom
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable (f : R →+* S) [IsLocalHom f]
theorem residue_map_eq_iff (x y : R) :
    IsLocalRing.residue S (f x) = IsLocalRing.residue S (f y) ↔
      IsLocalRing.residue R x = IsLocalRing.residue R y
ValuationTheory.DiscreteValuationField.ResidueField.map_residue_eq_residue_iff_sub_mem_maximalIdeal

A mapped residue class equals a target residue class exactly when their chosen representatives are congruent modulo the target maximal ideal.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalHom
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable (f : R →+* S) [IsLocalHom f]
theorem map_residue_eq_residue_iff_sub_mem_maximalIdeal (x : R) (y : S) :
    IsLocalRing.ResidueField.map f (IsLocalRing.residue R x) =
        IsLocalRing.residue S y ↔
      f x - y ∈ IsLocalRing.maximalIdeal S
ValuationTheory.DiscreteValuationField.ResidueField.residue_eq_map_residue_iff_sub_mem_maximalIdeal

Target residue equality with a mapped residue class, in the opposite orientation, is also equality modulo the target maximal ideal.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section LocalHom
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable (f : R →+* S) [IsLocalHom f]
theorem residue_eq_map_residue_iff_sub_mem_maximalIdeal (y : S) (x : R) :
    IsLocalRing.residue S y =
        IsLocalRing.ResidueField.map f (IsLocalRing.residue R x) ↔
      y - f x ∈ IsLocalRing.maximalIdeal S
ValuationTheory.DiscreteValuationField.ResidueField.algebraMap_eq_map_algebraMap

For a local algebra map, mathlib's residue-field algebra map agrees with the residue-field map induced by the structure homomorphism.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section Algebra
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable [Algebra R S] [IsLocalHom (algebraMap R S)]
theorem algebraMap_eq_map_algebraMap :
    algebraMap (IsLocalRing.ResidueField R)
        (IsLocalRing.ResidueField S) =
      IsLocalRing.ResidueField.map (algebraMap R S)
ValuationTheory.DiscreteValuationField.ResidueField.map_algebraMap_injective

The residue-field map induced by a local algebra map is injective.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section Algebra
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable [Algebra R S] [IsLocalHom (algebraMap R S)]
theorem map_algebraMap_injective :
    Function.Injective
      (IsLocalRing.ResidueField.map (algebraMap R S))
ValuationTheory.DiscreteValuationField.ResidueField.map_algebraMap_eq_zero_iff

The residue-field map induced by a local algebra map has trivial kernel.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section Algebra
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable [Algebra R S] [IsLocalHom (algebraMap R S)]
theorem map_algebraMap_eq_zero_iff (x : IsLocalRing.ResidueField R) :
    IsLocalRing.ResidueField.map (algebraMap R S) x = 0 ↔ x = 0
ValuationTheory.DiscreteValuationField.ResidueField.residue_algebraMap_eq_zero_iff

A local algebra map preserves and reflects zero residues.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section Algebra
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable [Algebra R S] [IsLocalHom (algebraMap R S)]
theorem residue_algebraMap_eq_zero_iff (x : R) :
    IsLocalRing.residue S (algebraMap R S x) = 0 ↔
      IsLocalRing.residue R x = 0
ValuationTheory.DiscreteValuationField.ResidueField.residue_algebraMap_eq_iff

A local algebra map preserves and reflects equality of residues.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section Algebra
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable [Algebra R S] [IsLocalHom (algebraMap R S)]
theorem residue_algebraMap_eq_iff (x y : R) :
    IsLocalRing.residue S (algebraMap R S x) =
        IsLocalRing.residue S (algebraMap R S y) ↔
      IsLocalRing.residue R x = IsLocalRing.residue R y
ValuationTheory.DiscreteValuationField.ResidueField.algebraMap_residue_eq_residue_iff_sub_mem_maximalIdeal

The residue-field algebra map sends the residue of x to the residue of y exactly when algebraMap R S x and y are congruent modulo the target maximal ideal.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section Algebra
variable [CommRing R] [IsLocalRing R] [CommRing S] [IsLocalRing S]
variable [Algebra R S] [IsLocalHom (algebraMap R S)]
theorem algebraMap_residue_eq_residue_iff_sub_mem_maximalIdeal
    (x : R) (y : S) :
    algebraMap (IsLocalRing.ResidueField R) (IsLocalRing.ResidueField S)
        (IsLocalRing.residue R x) = IsLocalRing.residue S y ↔
      algebraMap R S x - y ∈ IsLocalRing.maximalIdeal S
ValuationTheory.DiscreteValuationField.ResidueField.algEquivOfAlgEquiv

A local algebra equivalence induces an algebra equivalence on residue fields over the base residue field.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section AlgEquiv
variable [CommRing T] [IsLocalRing T]
variable [CommRing R] [IsLocalRing R] [Algebra T R]
variable [CommRing S] [IsLocalRing S] [Algebra T S]
variable [IsLocalHom (algebraMap T R)] [IsLocalHom (algebraMap T S)]
def algEquivOfAlgEquiv
    (e : R ≃ₐ[T] S) :
    IsLocalRing.ResidueField R ≃ₐ[IsLocalRing.ResidueField T]
      IsLocalRing.ResidueField S
ValuationTheory.DiscreteValuationField.ResidueField.algEquivOfAlgEquiv_apply

The residue-field equivalence induced by an algebra equivalence acts through residue representatives.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section AlgEquiv
variable [CommRing T] [IsLocalRing T]
variable [CommRing R] [IsLocalRing R] [Algebra T R]
variable [CommRing S] [IsLocalRing S] [Algebra T S]
variable [IsLocalHom (algebraMap T R)] [IsLocalHom (algebraMap T S)]
theorem algEquivOfAlgEquiv_apply
    (e : R ≃ₐ[T] S)
    (x : IsLocalRing.ResidueField R) :
    algEquivOfAlgEquiv e x =
      IsLocalRing.ResidueField.map e.toRingEquiv x
ValuationTheory.DiscreteValuationField.ResidueField.algEquivOfAlgEquiv_apply_eq_mapEquiv

The induced residue algebra equivalence agrees with the canonical quotient-map equivalence.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section AlgEquiv
variable [CommRing T] [IsLocalRing T]
variable [CommRing R] [IsLocalRing R] [Algebra T R]
variable [CommRing S] [IsLocalRing S] [Algebra T S]
variable [IsLocalHom (algebraMap T R)] [IsLocalHom (algebraMap T S)]
theorem algEquivOfAlgEquiv_apply_eq_mapEquiv
    (e : R ≃ₐ[T] S)
    (x : IsLocalRing.ResidueField R) :
    algEquivOfAlgEquiv e x =
      IsLocalRing.ResidueField.mapEquiv e.toRingEquiv x
ValuationTheory.DiscreteValuationField.ResidueField.algEquivOfAlgEquiv_symm_apply_eq_mapEquiv

The inverse induced residue equivalence agrees with the inverse quotient-map equivalence.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section AlgEquiv
variable [CommRing T] [IsLocalRing T]
variable [CommRing R] [IsLocalRing R] [Algebra T R]
variable [CommRing S] [IsLocalRing S] [Algebra T S]
variable [IsLocalHom (algebraMap T R)] [IsLocalHom (algebraMap T S)]
theorem algEquivOfAlgEquiv_symm_apply_eq_mapEquiv
    (e : R ≃ₐ[T] S)
    (x : IsLocalRing.ResidueField S) :
    (algEquivOfAlgEquiv e).symm x =
      IsLocalRing.ResidueField.mapEquiv e.symm.toRingEquiv x
ValuationTheory.DiscreteValuationField.ResidueField.algEquivOfAlgEquiv_apply_residue

The induced residue equivalence sends the residue of an integral element to its transported residue.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section AlgEquiv
variable [CommRing T] [IsLocalRing T]
variable [CommRing R] [IsLocalRing R] [Algebra T R]
variable [CommRing S] [IsLocalRing S] [Algebra T S]
variable [IsLocalHom (algebraMap T R)] [IsLocalHom (algebraMap T S)]
theorem algEquivOfAlgEquiv_apply_residue
    (e : R ≃ₐ[T] S) (x : R) :
    algEquivOfAlgEquiv e (IsLocalRing.residue R x) =
      IsLocalRing.residue S (e x)
ValuationTheory.DiscreteValuationField.ResidueField.algEquivOfAlgEquiv_symm_apply_residue

The inverse induced residue equivalence sends residues back along the inverse algebra equivalence.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section AlgEquiv
variable [CommRing T] [IsLocalRing T]
variable [CommRing R] [IsLocalRing R] [Algebra T R]
variable [CommRing S] [IsLocalRing S] [Algebra T S]
variable [IsLocalHom (algebraMap T R)] [IsLocalHom (algebraMap T S)]
theorem algEquivOfAlgEquiv_symm_apply_residue
    (e : R ≃ₐ[T] S) (x : S) :
    (algEquivOfAlgEquiv e).symm (IsLocalRing.residue S x) =
      IsLocalRing.residue R (e.symm x)
ValuationTheory.DiscreteValuationField.ResidueField.algEquivOfAlgEquiv_symm

Passing to residue fields commutes with inversion of algebra equivalences.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section AlgEquiv
variable [CommRing T] [IsLocalRing T]
variable [CommRing R] [IsLocalRing R] [Algebra T R]
variable [CommRing S] [IsLocalRing S] [Algebra T S]
variable [IsLocalHom (algebraMap T R)] [IsLocalHom (algebraMap T S)]
theorem algEquivOfAlgEquiv_symm
    (e : R ≃ₐ[T] S) :
    (algEquivOfAlgEquiv e).symm = algEquivOfAlgEquiv e.symm
ValuationTheory.DiscreteValuationField.ResidueField.algEquivOfAlgEquiv_refl

The identity algebra equivalence induces the identity on residue fields.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section AlgEquiv
variable [CommRing T] [IsLocalRing T]
variable [CommRing R] [IsLocalRing R] [Algebra T R]
variable [CommRing S] [IsLocalRing S] [Algebra T S]
variable [IsLocalHom (algebraMap T R)] [IsLocalHom (algebraMap T S)]
theorem algEquivOfAlgEquiv_refl :
    algEquivOfAlgEquiv (AlgEquiv.refl : R ≃ₐ[T] R) =
      (AlgEquiv.refl :
        IsLocalRing.ResidueField R ≃ₐ[IsLocalRing.ResidueField T]
          IsLocalRing.ResidueField R)
ValuationTheory.DiscreteValuationField.ResidueField.algEquivOfAlgEquiv_trans

Residue-field equivalences respect composition of algebra equivalences.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace ValuationTheory
noncomputable section
universe u v w
namespace DiscreteValuationField
namespace ResidueField
variable {R : Type u} {S : Type v} {T : Type w}
section AlgEquiv
variable [CommRing T] [IsLocalRing T]
variable [CommRing R] [IsLocalRing R] [Algebra T R]
variable [CommRing S] [IsLocalRing S] [Algebra T S]
variable [IsLocalHom (algebraMap T R)] [IsLocalHom (algebraMap T S)]
theorem algEquivOfAlgEquiv_trans
    {U : Type*} [CommRing U] [IsLocalRing U] [Algebra T U]
    [IsLocalHom (algebraMap T U)]
    (eRS : R ≃ₐ[T] S) (eSU : S ≃ₐ[T] U) :
    (algEquivOfAlgEquiv eRS).trans (algEquivOfAlgEquiv eSU) =
      algEquivOfAlgEquiv (eRS.trans eSU)