Module

Henselian.lean

Nyll.ValuedFieldTheory.Valuation.DiscreteValuationField.Henselian
16 declarations indexed from sourceView source ↗

Henselian discretely valued fields

This file contains the lightweight package for a discretely valued field whose valuation ring is Henselian at its maximal ideal.

Declarations

ValuationTheory.DiscreteValuationField.idempotentPolynomial_monic

The idempotent polynomial X^2 - X is monic in every nontrivial coefficient ring.

Source context 4 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
theorem idempotentPolynomial_monic
    {R : Type*} [CommRing R] [Nontrivial R] :
    (Polynomial.X ^ 2 - Polynomial.X : Polynomial R).Monic
ValuationTheory.DiscreteValuationField.idempotentPolynomial_eval_mem_of_quotient_idempotent

A quotient idempotent is an approximate root of X^2 - X.

Source context 4 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
theorem idempotentPolynomial_eval_mem_of_quotient_idempotent
    {R : Type*} [CommRing R] {I : Ideal R} (a0 : R)
    (ha0 : IsIdempotentElem (Ideal.Quotient.mk I a0)) :
    (Polynomial.X ^ 2 - Polynomial.X : Polynomial R).eval a0 ∈ I
ValuationTheory.DiscreteValuationField.idempotentPolynomial_derivative_eval_isUnit_of_quotient_idempotent

At a quotient idempotent, the derivative of X^2 - X is a unit in the quotient.

Source context 4 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
theorem idempotentPolynomial_derivative_eval_isUnit_of_quotient_idempotent
    {R : Type*} [CommRing R] {I : Ideal R} (a0 : R)
    (ha0 : IsIdempotentElem (Ideal.Quotient.mk I a0)) :
    IsUnit
      (Ideal.Quotient.mk I
        ((Polynomial.X ^ 2 - Polynomial.X : Polynomial R).derivative.eval a0))
ValuationTheory.DiscreteValuationField.exists_idempotent_lift_of_surjective_henselianRing_ker

Idempotents lift along a surjective ring map whose kernel is a Henselian ideal.

This is the X^2 - X simple-root form of Hensel's lemma. At an idempotent, the derivative 2X - 1 is a unit because its square is 1.

Source context 4 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
theorem exists_idempotent_lift_of_surjective_henselianRing_ker
    {R S : Type*} [CommRing R] [CommRing S] (f : R →+* S)
    (hf : Function.Surjective f)
    [HenselianRing R (RingHom.ker f)]
    (e : S) (he : IsIdempotentElem e) :
    ∃ e' : R, IsIdempotentElem e' ∧ f e' = e
ValuationTheory.DiscreteValuationField.exists_idempotent_lift_of_henselianRing_mk

Chosen-representative form of idempotent lifting for Henselian pairs.

Source context 4 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
theorem exists_idempotent_lift_of_henselianRing_mk
    {R : Type*} [CommRing R] {I : Ideal R} [HenselianRing R I]
    (a0 : R) (ha0 : IsIdempotentElem (Ideal.Quotient.mk I a0)) :
    ∃ e : R,
      IsIdempotentElem e ∧
        Ideal.Quotient.mk I e = Ideal.Quotient.mk I a0 ∧
        e - a0 ∈ I
ValuationTheory.DiscreteValuationField.exists_idempotent_lift_of_henselianRing

Quotient form of idempotent lifting for Henselian pairs: every idempotent modulo the Henselian ideal has an idempotent representative.

Source context 4 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
theorem exists_idempotent_lift_of_henselianRing
    {R : Type*} [CommRing R] {I : Ideal R} [HenselianRing R I]
    (e : R ⧸ I) (he : IsIdempotentElem e) :
    ∃ e' : R, IsIdempotentElem e' ∧ Ideal.Quotient.mk I e' = e
ValuationTheory.DiscreteValuationField.HenselianDVF

A Henselian discretely valued field.

Source context 4 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
structure HenselianDVF (K : Type u) [Field K] extends DVF.{u, v} K where
  /-- The valuation ring is Henselian along its maximal ideal. -/
  [instHenselian : HenselianRing toDVF.valuationSubring toDVF.maximalIdeal]
ValuationTheory.DiscreteValuationField.HenselianDVF.valuationSubring

Introduces the abbreviation valuationSubring.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
attribute [instance] HenselianDVF.instHenselian
namespace HenselianDVF
variable {K : Type u} [Field K]
abbrev valuationSubring (F : HenselianDVF.{u, v} K) : Type u
ValuationTheory.DiscreteValuationField.HenselianDVF.maximalIdeal

Introduces the abbreviation maximalIdeal.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
attribute [instance] HenselianDVF.instHenselian
namespace HenselianDVF
variable {K : Type u} [Field K]
abbrev maximalIdeal (F : HenselianDVF.{u, v} K) : Ideal F.valuationSubring
ValuationTheory.DiscreteValuationField.HenselianDVF.residueField

Introduces the abbreviation residueField.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
attribute [instance] HenselianDVF.instHenselian
namespace HenselianDVF
variable {K : Type u} [Field K]
abbrev residueField (F : HenselianDVF.{u, v} K) : Type u
ValuationTheory.DiscreteValuationField.HenselianDVF.residueMap

Introduces the abbreviation residueMap.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
attribute [instance] HenselianDVF.instHenselian
namespace HenselianDVF
variable {K : Type u} [Field K]
abbrev residueMap (F : HenselianDVF.{u, v} K) :
    RingHom F.valuationSubring F.residueField
ValuationTheory.DiscreteValuationField.HenselianDVF.exists_polynomial_lift_residue

Every residue-field polynomial admits a coefficientwise lift to the valuation ring.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
attribute [instance] HenselianDVF.instHenselian
namespace HenselianDVF
variable {K : Type u} [Field K]
theorem exists_polynomial_lift_residue (F : HenselianDVF.{u, v} K)
    (fbar : Polynomial F.residueField) :
    ∃ f : Polynomial F.valuationSubring, f.map F.residueMap = fbar
ValuationTheory.DiscreteValuationField.HenselianDVF.valuationSubring_isDiscreteValuationRing

The valuation subring of the henselian model is a discrete valuation ring.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
attribute [instance] HenselianDVF.instHenselian
namespace HenselianDVF
variable {K : Type u} [Field K]
theorem valuationSubring_isDiscreteValuationRing (F : HenselianDVF.{u, v} K) :
    IsDiscreteValuationRing F.valuationSubring
ValuationTheory.DiscreteValuationField.HenselianDVF.henselianRing

The valuation subring of the henselian discrete valuation field is henselian.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
attribute [instance] HenselianDVF.instHenselian
namespace HenselianDVF
variable {K : Type u} [Field K]
theorem henselianRing (F : HenselianDVF.{u, v} K) :
    HenselianRing F.valuationSubring F.maximalIdeal
ValuationTheory.DiscreteValuationField.HenselianDVF.maximalIdeal_ne_bot

The maximal ideal of a Henselian DVF valuation ring is nonzero.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
attribute [instance] HenselianDVF.instHenselian
namespace HenselianDVF
variable {K : Type u} [Field K]
theorem maximalIdeal_ne_bot (F : HenselianDVF.{u, v} K) :
    F.maximalIdeal ≠ ⊥
ValuationTheory.DiscreteValuationField.HenselianDVF.exists_lift_root_simple

Hensel's lemma in the simple-root form used by mathlib.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v
namespace DiscreteValuationField
attribute [instance] HenselianDVF.instHenselian
namespace HenselianDVF
variable {K : Type u} [Field K]
theorem exists_lift_root_simple (F : HenselianDVF.{u, v} K)
    (f : Polynomial F.valuationSubring) (hf : f.Monic) (a0 : F.valuationSubring)
    (hroot : f.eval a0 ∈ F.maximalIdeal)
    (hsimple : IsUnit (Ideal.Quotient.mk F.maximalIdeal (f.derivative.eval a0))) :
    ∃ a : F.valuationSubring, f.IsRoot a ∧ a - a0 ∈ F.maximalIdeal