Module

HenselianValuationExtension.lean

Nyll.ValuedFieldTheory.Valuation.DiscreteValuationField.HenselianValuationExtension
10 declarations indexed from sourceView source ↗

Valuation-extension API for Henselian discretely valued fields

This file keeps the valuation-extension uniqueness interface separate from the lightweight Henselian-DVF core. The core file is used by Hensel lifting and does not need to import mathlib's full Valuation.HasExtension API.

Declarations

ValuationTheory.DiscreteValuationField.HenselianDVF.HasUniqueValuationExtension

A Henselian-DVF uniqueness predicate for extensions of the base valuation. This is the non-complete analogue of the complete-DVF predicate used by ValuedExtension.HasUniqueValuationExtension.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v w x y
namespace DiscreteValuationField
namespace HenselianDVF
variable {K : Type u} [Field K]
variable {L : Type w} [Field L] [Algebra K L]
def HasUniqueValuationExtension (base : HenselianDVF.{u, v} K)
    (target : HenselianDVF.{w, x} L) : Prop
ValuationTheory.DiscreteValuationField.HenselianDVF.valuation_isEquiv_of_valuationSubring_eq

A Henselian-DVF valuation is equivalent to another valuation as soon as their valuation subrings are equal.

Source context 8 commands

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

namespace ValuationTheory
noncomputable section
universe u v w x y
namespace DiscreteValuationField
namespace HenselianDVF
variable {K : Type u} [Field K]
variable {L : Type w} [Field L] [Algebra K L]
omit [Algebra K L] in
theorem valuation_isEquiv_of_valuationSubring_eq
    (_base : HenselianDVF.{u, v} K) (target : HenselianDVF.{w, x} L)
    {Gamma' : Type y} [LinearOrderedCommGroupWithZero Gamma']
    (v' : _root_.Valuation L Gamma')
    (hsub : target.toDVF.valuation.valuationSubring = v'.valuationSubring) :
    target.toDVF.valuation.IsEquiv v'
ValuationTheory.DiscreteValuationField.HenselianDVF.valuationSubring_eq_of_valuation_isEquiv

Equivalent valuations have the same valuation subring.

Source context 8 commands

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

namespace ValuationTheory
noncomputable section
universe u v w x y
namespace DiscreteValuationField
namespace HenselianDVF
variable {K : Type u} [Field K]
variable {L : Type w} [Field L] [Algebra K L]
omit [Algebra K L] in
theorem valuationSubring_eq_of_valuation_isEquiv
    (_base : HenselianDVF.{u, v} K) (target : HenselianDVF.{w, x} L)
    {Gamma' : Type y} [LinearOrderedCommGroupWithZero Gamma']
    {v' : _root_.Valuation L Gamma'}
    (h : target.toDVF.valuation.IsEquiv v') :
    target.toDVF.valuation.valuationSubring = v'.valuationSubring
ValuationTheory.DiscreteValuationField.HenselianDVF.valuation_isEquiv_iff_valuationSubring_eq

Valuation equivalence is exactly equality of valuation subrings.

Source context 8 commands

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

namespace ValuationTheory
noncomputable section
universe u v w x y
namespace DiscreteValuationField
namespace HenselianDVF
variable {K : Type u} [Field K]
variable {L : Type w} [Field L] [Algebra K L]
omit [Algebra K L] in
theorem valuation_isEquiv_iff_valuationSubring_eq
    (_base : HenselianDVF.{u, v} K) (target : HenselianDVF.{w, x} L)
    {Gamma' : Type y} [LinearOrderedCommGroupWithZero Gamma']
    (v' : _root_.Valuation L Gamma') :
    target.toDVF.valuation.IsEquiv v' ↔
      target.toDVF.valuation.valuationSubring = v'.valuationSubring
ValuationTheory.DiscreteValuationField.HenselianDVF.valuationSubring_eq_iff_mem_valuationSubring

Equality of valuation subrings is exactly pointwise equality of membership in those subrings.

Source context 8 commands

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

namespace ValuationTheory
noncomputable section
universe u v w x y
namespace DiscreteValuationField
namespace HenselianDVF
variable {K : Type u} [Field K]
variable {L : Type w} [Field L] [Algebra K L]
omit [Algebra K L] in
theorem valuationSubring_eq_iff_mem_valuationSubring
    (_base : HenselianDVF.{u, v} K) (target : HenselianDVF.{w, x} L)
    {Gamma' : Type y} [LinearOrderedCommGroupWithZero Gamma']
    (v' : _root_.Valuation L Gamma') :
    target.toDVF.valuation.valuationSubring = v'.valuationSubring ↔
      ∀ z : L, z ∈ target.toDVF.valuation.valuationSubring ↔
        z ∈ v'.valuationSubring
ValuationTheory.DiscreteValuationField.HenselianDVF.valuation_isEquiv_iff_mem_valuationSubring

Valuation equivalence can be checked by pointwise equality of membership in valuation subrings.

Source context 8 commands

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

namespace ValuationTheory
noncomputable section
universe u v w x y
namespace DiscreteValuationField
namespace HenselianDVF
variable {K : Type u} [Field K]
variable {L : Type w} [Field L] [Algebra K L]
omit [Algebra K L] in
theorem valuation_isEquiv_iff_mem_valuationSubring
    (base : HenselianDVF.{u, v} K) (target : HenselianDVF.{w, x} L)
    {Gamma' : Type y} [LinearOrderedCommGroupWithZero Gamma']
    (v' : _root_.Valuation L Gamma') :
    target.toDVF.valuation.IsEquiv v' ↔
      ∀ z : L, z ∈ target.toDVF.valuation.valuationSubring ↔
        z ∈ v'.valuationSubring
ValuationTheory.DiscreteValuationField.HenselianDVF.hasUniqueValuationExtension_of_forall_valuationSubring_eq

Equality of valuation subrings for all extensions proves Henselian-DVF uniqueness up to mathlib's valuation equivalence.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v w x y
namespace DiscreteValuationField
namespace HenselianDVF
variable {K : Type u} [Field K]
variable {L : Type w} [Field L] [Algebra K L]
theorem hasUniqueValuationExtension_of_forall_valuationSubring_eq
    (base : HenselianDVF.{u, v} K) (target : HenselianDVF.{w, x} L)
    (h :
      ∀ {Gamma' : Type y} [LinearOrderedCommGroupWithZero Gamma']
        (v' : _root_.Valuation L Gamma') [base.toDVF.valuation.HasExtension v'],
          target.toDVF.valuation.valuationSubring = v'.valuationSubring) :
    HasUniqueValuationExtension.{u, v, w, x, y} base target
ValuationTheory.DiscreteValuationField.HenselianDVF.valuationSubring_eq_of_hasUniqueValuationExtension

Henselian-DVF unique extension implies valuation-subring equality for every extension valuation.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v w x y
namespace DiscreteValuationField
namespace HenselianDVF
variable {K : Type u} [Field K]
variable {L : Type w} [Field L] [Algebra K L]
theorem valuationSubring_eq_of_hasUniqueValuationExtension
    (base : HenselianDVF.{u, v} K) (target : HenselianDVF.{w, x} L)
    (huniq : HasUniqueValuationExtension.{u, v, w, x, y} base target)
    {Gamma' : Type y} [LinearOrderedCommGroupWithZero Gamma']
    (v' : _root_.Valuation L Gamma') [base.toDVF.valuation.HasExtension v'] :
    target.toDVF.valuation.valuationSubring = v'.valuationSubring
ValuationTheory.DiscreteValuationField.HenselianDVF.hasUniqueValuationExtension_iff_forall_valuationSubring_eq

Henselian-DVF unique extension is equivalent to equality of the chosen target valuation subring with every extension valuation subring.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v w x y
namespace DiscreteValuationField
namespace HenselianDVF
variable {K : Type u} [Field K]
variable {L : Type w} [Field L] [Algebra K L]
theorem hasUniqueValuationExtension_iff_forall_valuationSubring_eq
    (base : HenselianDVF.{u, v} K) (target : HenselianDVF.{w, x} L) :
    HasUniqueValuationExtension.{u, v, w, x, y} base target ↔
      ∀ {Gamma' : Type y} [LinearOrderedCommGroupWithZero Gamma']
        (v' : _root_.Valuation L Gamma') [base.toDVF.valuation.HasExtension v'],
          target.toDVF.valuation.valuationSubring = v'.valuationSubring
ValuationTheory.DiscreteValuationField.HenselianDVF.hasUniqueValuationExtension_iff_forall_mem_valuationSubring

Henselian-DVF unique extension can be checked pointwise on membership in valuation subrings.

Source context 7 commands

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

namespace ValuationTheory
noncomputable section
universe u v w x y
namespace DiscreteValuationField
namespace HenselianDVF
variable {K : Type u} [Field K]
variable {L : Type w} [Field L] [Algebra K L]
theorem hasUniqueValuationExtension_iff_forall_mem_valuationSubring
    (base : HenselianDVF.{u, v} K) (target : HenselianDVF.{w, x} L) :
    HasUniqueValuationExtension.{u, v, w, x, y} base target ↔
      ∀ {Gamma' : Type y} [LinearOrderedCommGroupWithZero Gamma']
        (v' : _root_.Valuation L Gamma') [base.toDVF.valuation.HasExtension v'],
          ∀ z : L, z ∈ target.toDVF.valuation.valuationSubring ↔
            z ∈ v'.valuationSubring