Module

ExponentialValuations.lean

Nyll.ValuedFieldTheory.Valuation.AbsoluteValue.Theory.ExponentialValuations
98 declarations indexed from sourceView source ↗

Exponential valuations and associated absolute values

This file develops additive valuations with values in WithTop ℝ, their equivalence under positive scaling, and the associated absolute values and valuation rings. For discrete valuations it describes prime elements and the ideals of the valuation ring.

Imports6
Imported by3

Declarations

LubinTate.Valuations.ExponentialValuation

The additive exponential valuation with value ∞ at zero.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
structure ExponentialValuation (K : Type*) [Field K] where
  /-- The value map into `ℝ ∪ {∞}`. -/
  toFun : K → WithTop ℝ
  /-- Exactly zero has value `∞`. -/
  eq_top_iff : ∀ x, toFun x = ⊤ ↔ x = 0
  /-- Multiplication becomes addition of values. -/
  map_mul : ∀ x y, toFun (x * y) = toFun x + toFun y
  /-- The nonarchimedean inequality in additive form. -/
  add_le_min : ∀ x y, min (toFun x) (toFun y) ≤ toFun (x + y)
LubinTate.Valuations.exponentialValuationCoeFun

Coerce an exponential valuation to its function.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
instance exponentialValuationCoeFun {K : Type*} [Field K] :
    CoeFun (ExponentialValuation K) (fun _ => K → WithTop ℝ) where
  coe v := v.toFun
LubinTate.Valuations.TrivialExponentialValuation

The trivial exponential valuation: every nonzero element has value 0.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def TrivialExponentialValuation {K : Type*} [Field K]
    (v : ExponentialValuation K) : Prop
LubinTate.Valuations.EquivalentExponentialValuations

Equivalence of exponential valuations by multiplication by a positive real scalar.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def EquivalentExponentialValuations {K : Type*} [Field K]
    (v w : ExponentialValuation K) : Prop
LubinTate.Valuations.AssociatedAbsoluteValue

A multiplicative absolute value associated to an exponential valuation by |x| = q^{-v(x)}.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def AssociatedAbsoluteValue {K : Type*} [Field K]
    (v : ExponentialValuation K) (q : ℝ) (abv : AbsoluteValue K ℝ) : Prop
LubinTate.Valuations.exponentialValuationRing

The valuation ring {x | v(x) ≥ 0} attached to an exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def exponentialValuationRing {K : Type*} [Field K]
    (v : ExponentialValuation K) : Set K
LubinTate.Valuations.exponentialValuation_ne_top_of_ne_zero

Nonzero elements have finite value for a exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuation_ne_top_of_ne_zero {K : Type*} [Field K]
    (v : ExponentialValuation K) {x : K} (hx : x ≠ 0) :
    v x ≠ ⊤
LubinTate.Valuations.exponentialValuation_exists_real_of_ne_zero

A nonzero element has a real-valued exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuation_exists_real_of_ne_zero {K : Type*} [Field K]
    (v : ExponentialValuation K) {x : K} (hx : x ≠ 0) :
    ∃ r : ℝ, v x = (r : WithTop ℝ)
LubinTate.Valuations.exponentialValuation_one

The value of 1 is 0 for a exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuation_one {K : Type*} [Field K]
    (v : ExponentialValuation K) :
    v (1 : K) = 0
LubinTate.Valuations.exponentialValuation_neg_one

The value of -1 is 0 for a exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuation_neg_one {K : Type*} [Field K]
    (v : ExponentialValuation K) :
    v (-1 : K) = 0
LubinTate.Valuations.exponentialValuation_neg

Negation does not change a exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuation_neg {K : Type*} [Field K]
    (v : ExponentialValuation K) (x : K) :
    v (-x) = v x
LubinTate.Valuations.exponentialValuation_ne_zero_of_value_eq_zero

An element of value zero is nonzero.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuation_ne_zero_of_value_eq_zero {K : Type*} [Field K]
    (v : ExponentialValuation K) {x : K} (hx : v x = 0) :
    x ≠ 0
LubinTate.Valuations.exponentialValuation_inv_of_value_eq_zero

The inverse of a value-zero element again has value zero.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuation_inv_of_value_eq_zero {K : Type*} [Field K]
    (v : ExponentialValuation K) {x : K} (hx : v x = 0) :
    v x⁻¹ = 0
LubinTate.Valuations.exponentialValuation_inv_value

Finite inverse-value formula for a exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuation_inv_value {K : Type*} [Field K]
    (v : ExponentialValuation K) {x : K} (hx : x ≠ 0) {r : ℝ}
    (hval : v x = (r : WithTop ℝ)) :
    v x⁻¹ = ((-r : ℝ) : WithTop ℝ)
LubinTate.Valuations.exponentialValuationSubring

The set {x | 0 ≤ v x} is a subring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def exponentialValuationSubring {K : Type*} [Field K]
    (v : ExponentialValuation K) : Subring K where
  carrier := exponentialValuationRing v
  zero_mem' := by
    change (0 : WithTop ℝ) ≤ v (0 : K)
    rw [(v.eq_top_iff 0).mpr rfl]
    simp
  one_mem' := by
    change (0 : WithTop ℝ) ≤ v (1 : K)
    simp
  add_mem' := by
    intro x y hx hy
    change (0 : WithTop ℝ) ≤ v (x + y)
    exact (le_min hx hy).trans (v.add_le_min x y)
  neg_mem' := by
    intro x hx
    change (0 : WithTop ℝ) ≤ v x at hx
    change (0 : WithTop ℝ) ≤ v (-x)
    simpa using hx
  mul_mem' := by
    intro x y hx hy
    change (0 : WithTop ℝ) ≤ v (x * y)
    rw [v.map_mul]
    exact add_nonneg hx hy
LubinTate.Valuations.mem_exponentialValuationSubring_iff

Membership in the exponential-valuation subring is exactly the defining condition 0 ≤ v x.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem mem_exponentialValuationSubring_iff {K : Type*} [Field K]
    (v : ExponentialValuation K) (x : K) :
    x ∈ exponentialValuationSubring v ↔ (0 : WithTop ℝ) ≤ v x
LubinTate.Valuations.exponentialValuationRing_mem_or_inv_mem

Every element of the field or its inverse lies in the exponential-valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuationRing_mem_or_inv_mem {K : Type*} [Field K]
    (v : ExponentialValuation K) (x : K) :
    x ∈ exponentialValuationRing v ∨ x⁻¹ ∈ exponentialValuationRing v
LubinTate.Valuations.exponentialValuationSubring_mem_or_inv_mem

The absolute values subring satisfies mathlib's valuation-subring membership alternative.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuationSubring_mem_or_inv_mem {K : Type*} [Field K]
    (v : ExponentialValuation K) (x : K) :
    x ∈ exponentialValuationSubring v ∨
      x⁻¹ ∈ exponentialValuationSubring v
LubinTate.Valuations.exponentialValuationSubringAsValuationSubring

The exponential-valuation ring, bundled as mathlib's ValuationSubring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def exponentialValuationSubringAsValuationSubring
    {K : Type*} [Field K] (v : ExponentialValuation K) :
    ValuationSubring K
LubinTate.Valuations.mem_exponentialValuationSubringAsValuationSubring_iff

Membership in the bundled mathlib valuation subring is the defining condition 0 ≤ v x.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem mem_exponentialValuationSubringAsValuationSubring_iff
    {K : Type*} [Field K] (v : ExponentialValuation K) (x : K) :
    x ∈ exponentialValuationSubringAsValuationSubring v ↔
      (0 : WithTop ℝ) ≤ v x
LubinTate.Valuations.exponentialUnitSet

The unit set {x | v(x) = 0} attached to an exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def exponentialUnitSet {K : Type*} [Field K]
    (v : ExponentialValuation K) : Set K
LubinTate.Valuations.exponentialMaxIdealSet

The maximal ideal {x | v(x) > 0} attached to an exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def exponentialMaxIdealSet {K : Type*} [Field K]
    (v : ExponentialValuation K) : Set K
LubinTate.Valuations.equivalentExponentialValuations_value_nonneg_iff

Equivalent exponential valuations have the same nonnegative elements.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem equivalentExponentialValuations_value_nonneg_iff
    {K : Type*} [Field K] {v w : ExponentialValuation K}
    (hequiv : EquivalentExponentialValuations v w) (x : K) :
    (0 : WithTop ℝ) ≤ v x ↔ (0 : WithTop ℝ) ≤ w x
LubinTate.Valuations.equivalentExponentialValuations_value_eq_zero_iff

Equivalent exponential valuations have the same value-zero elements.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem equivalentExponentialValuations_value_eq_zero_iff
    {K : Type*} [Field K] {v w : ExponentialValuation K}
    (hequiv : EquivalentExponentialValuations v w) (x : K) :
    v x = 0 ↔ w x = 0
LubinTate.Valuations.equivalentExponentialValuations_value_pos_iff

Equivalent exponential valuations have the same positive-value elements.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem equivalentExponentialValuations_value_pos_iff
    {K : Type*} [Field K] {v w : ExponentialValuation K}
    (hequiv : EquivalentExponentialValuations v w) (x : K) :
    (0 : WithTop ℝ) < v x ↔ (0 : WithTop ℝ) < w x
LubinTate.Valuations.equivalentExponentialValuations_ring_eq

Equivalent exponential valuations have the same exponential-valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem equivalentExponentialValuations_ring_eq
    {K : Type*} [Field K] {v w : ExponentialValuation K}
    (hequiv : EquivalentExponentialValuations v w) :
    exponentialValuationRing v = exponentialValuationRing w
LubinTate.Valuations.equivalentExponentialValuations_subring_eq

Equivalent exponential valuations have the same bundled valuation subring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem equivalentExponentialValuations_subring_eq
    {K : Type*} [Field K] {v w : ExponentialValuation K}
    (hequiv : EquivalentExponentialValuations v w) :
    exponentialValuationSubring v = exponentialValuationSubring w
LubinTate.Valuations.equivalentExponentialValuations_valuationSubring_eq

Equivalent exponential valuations define the same mathlib valuation subring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem equivalentExponentialValuations_valuationSubring_eq
    {K : Type*} [Field K] {v w : ExponentialValuation K}
    (hequiv : EquivalentExponentialValuations v w) :
    exponentialValuationSubringAsValuationSubring v =
      exponentialValuationSubringAsValuationSubring w
LubinTate.Valuations.equivalentExponentialValuations_unitSet_eq

Equivalent exponential valuations have the same unit set.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem equivalentExponentialValuations_unitSet_eq
    {K : Type*} [Field K] {v w : ExponentialValuation K}
    (hequiv : EquivalentExponentialValuations v w) :
    exponentialUnitSet v = exponentialUnitSet w
LubinTate.Valuations.equivalentExponentialValuations_maxIdealSet_eq

Equivalent exponential valuations have the same positive-value ideal set.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem equivalentExponentialValuations_maxIdealSet_eq
    {K : Type*} [Field K] {v w : ExponentialValuation K}
    (hequiv : EquivalentExponentialValuations v w) :
    exponentialMaxIdealSet v = exponentialMaxIdealSet w
LubinTate.Valuations.associatedAbsoluteValue_le_one_iff

For an associated multiplicative absolute value, |x| ≤ 1 is the same as the exponential value being nonnegative.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem associatedAbsoluteValue_le_one_iff
    {K : Type*} [Field K] {v : ExponentialValuation K}
    {q : ℝ} {abv : AbsoluteValue K ℝ}
    (hassoc : AssociatedAbsoluteValue v q abv) {x : K} (hx : x ≠ 0) :
    abv x ≤ 1 ↔ (0 : WithTop ℝ) ≤ v x
LubinTate.Valuations.associatedAbsoluteValue_lt_one_iff

For an associated multiplicative absolute value, |x| < 1 is the same as the exponential value being positive.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem associatedAbsoluteValue_lt_one_iff
    {K : Type*} [Field K] {v : ExponentialValuation K}
    {q : ℝ} {abv : AbsoluteValue K ℝ}
    (hassoc : AssociatedAbsoluteValue v q abv) {x : K} (hx : x ≠ 0) :
    abv x < 1 ↔ (0 : WithTop ℝ) < v x
LubinTate.Valuations.associatedAbsoluteValue_eq_one_iff

For an associated multiplicative absolute value, |x| = 1 is the same as the exponential value being zero.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem associatedAbsoluteValue_eq_one_iff
    {K : Type*} [Field K] {v : ExponentialValuation K}
    {q : ℝ} {abv : AbsoluteValue K ℝ}
    (hassoc : AssociatedAbsoluteValue v q abv) {x : K} (hx : x ≠ 0) :
    abv x = 1 ↔ v x = 0
LubinTate.Valuations.associatedAbsoluteValue_ring_eq_closed_unit_ball

The valuation ring of an exponential valuation is the closed unit ball for any associated multiplicative absolute value.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem associatedAbsoluteValue_ring_eq_closed_unit_ball
    {K : Type*} [Field K] {v : ExponentialValuation K}
    {q : ℝ} {abv : AbsoluteValue K ℝ}
    (hassoc : AssociatedAbsoluteValue v q abv) :
    exponentialValuationRing v = {x : K | abv x ≤ 1}
LubinTate.Valuations.associatedAbsoluteValue_unitSet_eq_unit_sphere

The zero-value unit set {x | v x = 0} is the unit sphere for any associated multiplicative absolute value.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem associatedAbsoluteValue_unitSet_eq_unit_sphere
    {K : Type*} [Field K] {v : ExponentialValuation K}
    {q : ℝ} {abv : AbsoluteValue K ℝ}
    (hassoc : AssociatedAbsoluteValue v q abv) :
    exponentialUnitSet v = {x : K | abv x = 1}
LubinTate.Valuations.associatedAbsoluteValue_maxIdealSet_eq_open_unit_ball

The positive-value ideal of an exponential valuation is the open unit ball for any associated multiplicative absolute value.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem associatedAbsoluteValue_maxIdealSet_eq_open_unit_ball
    {K : Type*} [Field K] {v : ExponentialValuation K}
    {q : ℝ} {abv : AbsoluteValue K ℝ}
    (hassoc : AssociatedAbsoluteValue v q abv) :
    exponentialMaxIdealSet v = {x : K | abv x < 1}
LubinTate.Valuations.exponentialUnitSet_subset_ring

Elements of value zero lie in the valuation subring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialUnitSet_subset_ring {K : Type*} [Field K]
    (v : ExponentialValuation K) :
    exponentialUnitSet v ⊆ exponentialValuationRing v
LubinTate.Valuations.exponentialMaxIdealSet_subset_ring

Elements of positive value lie in the valuation subring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialMaxIdealSet_subset_ring {K : Type*} [Field K]
    (v : ExponentialValuation K) :
    exponentialMaxIdealSet v ⊆ exponentialValuationRing v
LubinTate.Valuations.exponentialMaxIdeal

The positive-value elements form an ideal of the exponential-valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def exponentialMaxIdeal {K : Type*} [Field K]
    (v : ExponentialValuation K) : Ideal (exponentialValuationSubring v) where
  carrier := {x | (0 : WithTop ℝ) < v (x : K)}
  zero_mem' := by
    change (0 : WithTop ℝ) < v (0 : K)
    rw [(v.eq_top_iff 0).mpr rfl]
    simp
  add_mem' := by
    intro x y hx hy
    change (0 : WithTop ℝ) < v ((x + y : exponentialValuationSubring v) : K)
    have hmin : (0 : WithTop ℝ) < min (v (x : K)) (v (y : K)) :=
      lt_min hx hy
    exact lt_of_lt_of_le hmin (by simpa using v.add_le_min (x : K) (y : K))
  smul_mem' := by
    intro a x hx
    change (0 : WithTop ℝ) < v ((a : K) * (x : K))
    have ha : (0 : WithTop ℝ) ≤ v (a : K) := a.property
    rw [v.map_mul]
    have hx_le : v (x : K) ≤ v (a : K) + v (x : K) := by
      simpa [zero_add] using
        (add_le_add ha (le_rfl : v (x : K) ≤ v (x : K)))
    exact lt_of_lt_of_le hx hx_le
LubinTate.Valuations.mem_exponentialMaxIdeal_iff

Membership in the bundled positive-value ideal is the defining condition 0 < v x.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem mem_exponentialMaxIdeal_iff {K : Type*} [Field K]
    (v : ExponentialValuation K) (x : exponentialValuationSubring v) :
    x ∈ exponentialMaxIdeal v ↔ (0 : WithTop ℝ) < v (x : K)
LubinTate.Valuations.one_not_mem_exponentialMaxIdeal

The unit element is not in the positive-value ideal.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem one_not_mem_exponentialMaxIdeal {K : Type*} [Field K]
    (v : ExponentialValuation K) :
    (1 : exponentialValuationSubring v) ∉ exponentialMaxIdeal v
LubinTate.Valuations.not_mem_exponentialMaxIdeal_iff_value_eq_zero

Inside the valuation ring, not lying in the positive-value ideal is the same as having value zero.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem not_mem_exponentialMaxIdeal_iff_value_eq_zero {K : Type*} [Field K]
    (v : ExponentialValuation K) (x : exponentialValuationSubring v) :
    x ∉ exponentialMaxIdeal v ↔ v (x : K) = 0
LubinTate.Valuations.isUnit_of_exponentialValuation_eq_zero

Value-zero elements of the valuation ring are units of that ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem isUnit_of_exponentialValuation_eq_zero {K : Type*} [Field K]
    (v : ExponentialValuation K) {x : exponentialValuationSubring v}
    (hx : v (x : K) = 0) :
    IsUnit x
LubinTate.Valuations.exponentialValuation_eq_zero_of_isUnit

Units of the valuation ring have value zero.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialValuation_eq_zero_of_isUnit {K : Type*} [Field K]
    (v : ExponentialValuation K) {x : exponentialValuationSubring v}
    (hx : IsUnit x) :
    v (x : K) = 0
LubinTate.Valuations.isUnit_of_not_mem_exponentialMaxIdeal

A valuation-ring element outside the positive-value ideal is a unit.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem isUnit_of_not_mem_exponentialMaxIdeal {K : Type*} [Field K]
    (v : ExponentialValuation K) {x : exponentialValuationSubring v}
    (hx : x ∉ exponentialMaxIdeal v) :
    IsUnit x
LubinTate.Valuations.not_mem_exponentialMaxIdeal_of_isUnit

Units of the valuation ring do not lie in the positive-value ideal.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem not_mem_exponentialMaxIdeal_of_isUnit {K : Type*} [Field K]
    (v : ExponentialValuation K) {x : exponentialValuationSubring v}
    (hx : IsUnit x) :
    x ∉ exponentialMaxIdeal v
LubinTate.Valuations.isUnit_iff_not_mem_exponentialMaxIdeal

In the valuation ring, the units are exactly the complement of the positive-value ideal.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem isUnit_iff_not_mem_exponentialMaxIdeal {K : Type*} [Field K]
    (v : ExponentialValuation K) (x : exponentialValuationSubring v) :
    IsUnit x ↔ x ∉ exponentialMaxIdeal v
LubinTate.Valuations.associatedAbsoluteValue_isUnit_iff_eq_one

For an associated absolute value, the units of the valuation ring are exactly the elements of absolute value 1.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem associatedAbsoluteValue_isUnit_iff_eq_one
    {K : Type*} [Field K] {v : ExponentialValuation K}
    {q : ℝ} {abv : AbsoluteValue K ℝ}
    (hassoc : AssociatedAbsoluteValue v q abv)
    (x : exponentialValuationSubring v) :
    IsUnit x ↔ abv (x : K) = 1
LubinTate.Valuations.exponentialMaxIdeal_isMaximal

The positive-value ideal is maximal in the exponential-valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialMaxIdeal_isMaximal {K : Type*} [Field K]
    (v : ExponentialValuation K) :
    (exponentialMaxIdeal v).IsMaximal
LubinTate.Valuations.exponentialValuationSubringIsLocalRing

The exponential-valuation ring is local.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
instance exponentialValuationSubringIsLocalRing {K : Type*} [Field K]
    (v : ExponentialValuation K) :
    IsLocalRing (exponentialValuationSubring v)
LubinTate.Valuations.exponentialMaxIdeal_eq_maximalIdeal

The positive-value ideal agrees with mathlib's maximal ideal of the valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialMaxIdeal_eq_maximalIdeal {K : Type*} [Field K]
    (v : ExponentialValuation K) :
    exponentialMaxIdeal v =
      IsLocalRing.maximalIdeal (exponentialValuationSubring v)
LubinTate.Valuations.DiscreteExponentialValuation

A discrete exponential valuation has a positive generator for its value group.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def DiscreteExponentialValuation {K : Type*} [Field K]
    (v : ExponentialValuation K) : Prop
LubinTate.Valuations.NormalizedExponentialValuation

A normalized discrete exponential valuation has value group ℤ and a prime element of value 1.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def NormalizedExponentialValuation {K : Type*} [Field K]
    (v : ExponentialValuation K) : Prop
LubinTate.Valuations.PrimeElementFor

A prime element for a normalized exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def PrimeElementFor {K : Type*} [Field K]
    (v : ExponentialValuation K) (π : K) : Prop
LubinTate.Valuations.primeElementFor_of_value_eq_one

Value 1 gives a prime element for a normalized exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementFor_of_value_eq_one {K : Type*} [Field K]
    (v : ExponentialValuation K) {π : K}
    (hπ : v π = (1 : WithTop ℝ)) :
    PrimeElementFor v π
LubinTate.Valuations.normalizedExponentialValuation_exists_primeElement

A normalized exponential valuation has a normalized prime element.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem normalizedExponentialValuation_exists_primeElement
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) :
    ∃ π : K, PrimeElementFor v π
LubinTate.Valuations.primeElementInValuationSubring

A normalized prime element, regarded as an element of the valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def primeElementInValuationSubring {K : Type*} [Field K]
    (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) :
    exponentialValuationSubring v
LubinTate.Valuations.primeElement_mem_exponentialMaxIdeal

A normalized prime element lies in the positive-value maximal ideal.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElement_mem_exponentialMaxIdeal
    {K : Type*} [Field K] (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) :
    primeElementInValuationSubring v hπ ∈ exponentialMaxIdeal v
LubinTate.Valuations.primeElement_mem_maximalIdeal

A normalized prime element lies in mathlib's maximal ideal of the valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElement_mem_maximalIdeal
    {K : Type*} [Field K] (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) :
    primeElementInValuationSubring v hπ ∈
      IsLocalRing.maximalIdeal (exponentialValuationSubring v)
LubinTate.Valuations.primeElementInValuationSubring_ne_zero

A normalized prime element is nonzero as an element of the valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementInValuationSubring_ne_zero
    {K : Type*} [Field K] (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) :
    primeElementInValuationSubring v hπ ≠ 0
LubinTate.Valuations.primeElementInValuationSubring_not_isUnit

A normalized prime element is not a unit of the valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementInValuationSubring_not_isUnit
    {K : Type*} [Field K] (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) :
    ¬ IsUnit (primeElementInValuationSubring v hπ)
LubinTate.Valuations.primeElementFor_inv_value

The inverse of a normalized prime element has value -1.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementFor_inv_value {K : Type*} [Field K]
    (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) :
    v π⁻¹ = ((-1 : ℝ) : WithTop ℝ)
LubinTate.Valuations.primeElementFor_pow_value

Powers of a normalized prime element have the expected normalized value.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementFor_pow_value {K : Type*} [Field K]
    (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) (n : ℕ) :
    v (π ^ n) = ((n : ℝ) : WithTop ℝ)
LubinTate.Valuations.primeElementFor_pow_ne_zero

Powers of a normalized prime element are nonzero in the ambient field.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementFor_pow_ne_zero {K : Type*} [Field K]
    (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) (n : ℕ) :
    π ^ n ≠ 0
LubinTate.Valuations.primeElementFor_zpow_value

Integer powers of a normalized prime element have the expected normalized value.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementFor_zpow_value {K : Type*} [Field K]
    (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) (m : ℤ) :
    v (π ^ m) = ((m : ℝ) : WithTop ℝ)
LubinTate.Valuations.primeElementFor_unit_mul_zpow_value

A unit times an integer power of a normalized prime element has value equal to the exponent.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementFor_unit_mul_zpow_value
    {K : Type*} [Field K] (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π)
    (u : exponentialValuationSubring v) (hu : IsUnit u) (m : ℤ) :
    v ((u : K) * π ^ m) = ((m : ℝ) : WithTop ℝ)
LubinTate.Valuations.normalizedExponentialValuation_exists_unit_mul_zpow

For a normalized exponential valuation and a normalized prime element, every nonzero field element is a unit times an integer power of the prime element.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem normalizedExponentialValuation_exists_unit_mul_zpow
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π x : K}
    (hπ : PrimeElementFor v π) (hx : x ≠ 0) :
    ∃ m : ℤ, ∃ u : exponentialValuationSubring v,
      IsUnit u ∧ x = (u : K) * π ^ m
LubinTate.Valuations.primeElementFor_unit_mul_zpow_unit_unique

For a fixed integer exponent, the unit in a representation u * π^m is unique.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementFor_unit_mul_zpow_unit_unique
    {K : Type*} [Field K] {v : ExponentialValuation K} {π : K}
    (hπ : PrimeElementFor v π) {m : ℤ}
    {u t : exponentialValuationSubring v}
    (h : (u : K) * π ^ m = (t : K) * π ^ m) :
    u = t
LubinTate.Valuations.primeElementFor_unit_mul_zpow_exponent_unique

The exponent in a representation u * π^m by a unit and a normalized prime element is unique.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementFor_unit_mul_zpow_exponent_unique
    {K : Type*} [Field K] (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π)
    {m n : ℤ} {u t : exponentialValuationSubring v}
    (hu : IsUnit u) (ht : IsUnit t)
    (h : (u : K) * π ^ m = (t : K) * π ^ n) :
    m = n
LubinTate.Valuations.primeElementFor_unit_mul_zpow_unique

The canonical representation x = u * π^m is unique: both the exponent and the unit are determined by the represented element.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementFor_unit_mul_zpow_unique
    {K : Type*} [Field K] (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π)
    {m n : ℤ} {u t : exponentialValuationSubring v}
    (hu : IsUnit u) (ht : IsUnit t)
    (h : (u : K) * π ^ m = (t : K) * π ^ n) :
    m = n ∧ u = t
LubinTate.Valuations.normalizedExponentialValuation_exists_unique_unit_mul_zpow

In a normalized exponential valuation, every nonzero element has a unique normalized representation as a unit times an integer power of a prime element.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem normalizedExponentialValuation_exists_unique_unit_mul_zpow
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π x : K}
    (hπ : PrimeElementFor v π) (hx : x ≠ 0) :
    ∃ m : ℤ, ∃ u : exponentialValuationSubring v,
      IsUnit u ∧ x = (u : K) * π ^ m ∧
        ∀ n : ℤ, ∀ t : exponentialValuationSubring v,
          IsUnit t → x = (t : K) * π ^ n → n = m ∧ t = u
LubinTate.Valuations.primeElementInValuationSubring_pow_value

The same power-value formula for the prime element viewed inside the valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementInValuationSubring_pow_value
    {K : Type*} [Field K] (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) (n : ℕ) :
    v ((primeElementInValuationSubring v hπ : exponentialValuationSubring v) ^ n : K) =
      ((n : ℝ) : WithTop ℝ)
LubinTate.Valuations.exponentialMaxIdeal_eq_span_primeElement_of_normalized

In a normalized exponential valuation, a normalized prime element generates the positive-value maximal ideal.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialMaxIdeal_eq_span_primeElement_of_normalized
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π : K}
    (hπ : PrimeElementFor v π) :
    exponentialMaxIdeal v =
      Ideal.span
        ({primeElementInValuationSubring v hπ} :
          Set (exponentialValuationSubring v))
LubinTate.Valuations.maximalIdeal_eq_span_primeElement_of_normalized

A normalized prime element generates mathlib's maximal ideal of the valuation ring for a normalized exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem maximalIdeal_eq_span_primeElement_of_normalized
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π : K}
    (hπ : PrimeElementFor v π) :
    IsLocalRing.maximalIdeal (exponentialValuationSubring v) =
      Ideal.span
        ({primeElementInValuationSubring v hπ} :
          Set (exponentialValuationSubring v))
LubinTate.Valuations.span_primeElement_isMaximal_of_normalized

The principal ideal generated by a normalized prime element is maximal.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem span_primeElement_isMaximal_of_normalized
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π : K}
    (hπ : PrimeElementFor v π) :
    (Ideal.span
      ({primeElementInValuationSubring v hπ} :
        Set (exponentialValuationSubring v))).IsMaximal
LubinTate.Valuations.span_primeElement_isPrime_of_normalized

The principal ideal generated by a normalized prime element is prime.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem span_primeElement_isPrime_of_normalized
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π : K}
    (hπ : PrimeElementFor v π) :
    (Ideal.span
      ({primeElementInValuationSubring v hπ} :
        Set (exponentialValuationSubring v))).IsPrime
LubinTate.Valuations.primeElementInValuationSubring_prime_of_normalized

A normalized prime element is prime as an element of the valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementInValuationSubring_prime_of_normalized
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π : K}
    (hπ : PrimeElementFor v π) :
    Prime (primeElementInValuationSubring v hπ)
LubinTate.Valuations.primeElementInValuationSubring_irreducible_of_normalized

A normalized prime element is irreducible as an element of the valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem primeElementInValuationSubring_irreducible_of_normalized
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π : K}
    (hπ : PrimeElementFor v π) :
    Irreducible (primeElementInValuationSubring v hπ)
LubinTate.Valuations.exponentialMaxIdeal_pow_eq_span_primeElement_pow_of_normalized

In a normalized exponential valuation, powers of the positive-value maximal ideal are generated by powers of a normalized prime element.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exponentialMaxIdeal_pow_eq_span_primeElement_pow_of_normalized
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π : K}
    (hπ : PrimeElementFor v π) (n : ℕ) :
    (exponentialMaxIdeal v) ^ n =
      Ideal.span
        ({(primeElementInValuationSubring v hπ) ^ n} :
          Set (exponentialValuationSubring v))
LubinTate.Valuations.uniformizerPowerIdeal

The DVR ideal π^n𝒪.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def uniformizerPowerIdeal {O : Type*} [CommRing O] (π : O) (n : ℕ) : Ideal O
LubinTate.Valuations.uniformizerPowerIdeal_mem_iff_value_ge_of_pow_value

Value description of a principal power ideal from the value of powers of its generator. This is the common calculation behind both the normalized and the scaled discrete forms of the ideal structure theorem for discrete valuation rings.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem uniformizerPowerIdeal_mem_iff_value_ge_of_pow_value
    {K : Type*} [Field K] (v : ExponentialValuation K)
    {π : K} (πR : exponentialValuationSubring v)
    (hπR : (πR : K) = π) {s : ℝ} (hπ0 : π ≠ 0)
    (hpow : ∀ n : ℕ, v (π ^ n) = (((n : ℝ) * s : ℝ) : WithTop ℝ))
    (n : ℕ) (x : exponentialValuationSubring v) :
    x ∈ uniformizerPowerIdeal πR n ↔
      (((n : ℝ) * s : ℝ) : WithTop ℝ) ≤ v (x : K)
LubinTate.Valuations.uniformizerPowerIdeal_le_ideal_of_mem_value_eq_of_pow_value

If an ideal contains an element whose value is exactly the value of π^n, then it contains the principal ideal generated by π^n.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem uniformizerPowerIdeal_le_ideal_of_mem_value_eq_of_pow_value
    {K : Type*} [Field K] {v : ExponentialValuation K}
    {π : K} (πR : exponentialValuationSubring v)
    (hπR : (πR : K) = π) {s : ℝ} (hπ0 : π ≠ 0)
    (hpow : ∀ n : ℕ, v (π ^ n) = (((n : ℝ) * s : ℝ) : WithTop ℝ))
    {I : Ideal (exponentialValuationSubring v)} {n : ℕ}
    {x : exponentialValuationSubring v}
    (hxI : x ∈ I)
    (hxval : v (x : K) = (((n : ℝ) * s : ℝ) : WithTop ℝ)) :
    uniformizerPowerIdeal πR n ≤ I
LubinTate.Valuations.ideal_exists_min_value_of_nat_indexed_values

A nonzero ideal has an element of least indexed value whenever every nonzero element has a value in a monotone sequence. This isolates the well-ordering argument shared by the normalized and scaled forms of the ideal structure theorem for discrete valuation rings.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem ideal_exists_min_value_of_nat_indexed_values
    {O α : Type*} [CommRing O] [Preorder α]
    (value : O → α) (weight : ℕ → α) (hweight : Monotone weight)
    (hvalue : ∀ x : O, x ≠ 0 → ∃ n : ℕ, value x = weight n)
    (I : Ideal O) (hI : I ≠ ⊥) :
    ∃ n : ℕ, ∃ x : O,
      x ∈ I ∧ x ≠ 0 ∧ value x = weight n ∧
        ∀ y : O, y ∈ I → y ≠ 0 → weight n ≤ value y
LubinTate.Valuations.uniformizerPowerIdeal_mem_iff_value_ge

The ideal structure theorem for discrete valuation rings, value description of the ideals π^n𝒪: for a normalized prime element, membership in the principal power ideal is exactly the lower bound v(x) ≥ n.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem uniformizerPowerIdeal_mem_iff_value_ge
    {K : Type*} [Field K] (v : ExponentialValuation K) {π : K}
    (hπ : PrimeElementFor v π) (n : ℕ)
    (x : exponentialValuationSubring v) :
    x ∈ uniformizerPowerIdeal (primeElementInValuationSubring v hπ) n ↔
      ((n : ℝ) : WithTop ℝ) ≤ v (x : K)
LubinTate.Valuations.exists_nat_index_of_nonneg_int_multiple

A nonnegative member of a positive real lattice has a natural-number index. This is the order-theoretic step common to normalized and scaled discrete valuations.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem exists_nat_index_of_nonneg_int_multiple
    {a : WithTop ℝ} {s : ℝ} (ha : 0 ≤ a) (hs : 0 < s)
    (h : ∃ m : ℤ, a = (((m : ℝ) * s : ℝ) : WithTop ℝ)) :
    ∃ n : ℕ, a = (((n : ℝ) * s : ℝ) : WithTop ℝ)
LubinTate.Valuations.normalizedExponentialValuation_subring_exists_nat_value

In a normalized exponential valuation, a nonzero element of the valuation ring has a natural-number value.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem normalizedExponentialValuation_subring_exists_nat_value
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v)
    {x : exponentialValuationSubring v} (hx : (x : K) ≠ 0) :
    ∃ n : ℕ, v (x : K) = ((n : ℝ) : WithTop ℝ)
LubinTate.Valuations.uniformizerPowerIdeal_le_ideal_of_mem_value_eq

If an ideal contains an element of value exactly n, then it contains π^n𝒪.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem uniformizerPowerIdeal_le_ideal_of_mem_value_eq
    {K : Type*} [Field K] {v : ExponentialValuation K} {π : K}
    (hπ : PrimeElementFor v π)
    {I : Ideal (exponentialValuationSubring v)} {n : ℕ}
    {x : exponentialValuationSubring v}
    (hxI : x ∈ I)
    (hxval : v (x : K) = ((n : ℝ) : WithTop ℝ)) :
    uniformizerPowerIdeal (primeElementInValuationSubring v hπ) n ≤ I
LubinTate.Valuations.nonzero_ideal_eq_uniformizerPowerIdeal

The ideal structure theorem for discrete valuation rings, ideal classification part: every nonzero ideal of a normalized exponential-valuation ring is one of the ideals π^n𝒪.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem nonzero_ideal_eq_uniformizerPowerIdeal
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π : K}
    (hπ : PrimeElementFor v π)
    (I : Ideal (exponentialValuationSubring v)) (hI : I ≠ ⊥) :
    ∃ n : ℕ,
      I = uniformizerPowerIdeal (primeElementInValuationSubring v hπ) n
LubinTate.Valuations.normalizedExponentialValuationSubring_isPrincipalIdealRing

The ideal structure theorem for discrete valuation rings, PID part: the valuation ring of a normalized exponential valuation is a principal ideal ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem normalizedExponentialValuationSubring_isPrincipalIdealRing
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π : K}
    (hπ : PrimeElementFor v π) :
    IsPrincipalIdealRing (exponentialValuationSubring v)
LubinTate.Valuations.normalizedExponentialValuationSubring_isDiscreteValuationRing

The ideal structure theorem for discrete valuation rings, DVR part: the valuation ring of a normalized exponential valuation is a discrete valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem normalizedExponentialValuationSubring_isDiscreteValuationRing
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : NormalizedExponentialValuation v) {π : K}
    (hπ : PrimeElementFor v π) :
    IsDiscreteValuationRing (exponentialValuationSubring v)
LubinTate.Valuations.discretePrimeElementInValuationSubring

A field element of positive discrete value, viewed inside the valuation ring.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
def discretePrimeElementInValuationSubring
    {K : Type*} [Field K] (v : ExponentialValuation K)
    {π : K} {s : ℝ} (hs : 0 ≤ s) (hπ : v π = (s : WithTop ℝ)) :
    exponentialValuationSubring v
LubinTate.Valuations.discretePrimeElement_ne_zero_of_value

A finite positive value forces the chosen discrete prime element to be nonzero.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem discretePrimeElement_ne_zero_of_value
    {K : Type*} [Field K] (v : ExponentialValuation K)
    {π : K} {s : ℝ} (hπ : v π = (s : WithTop ℝ)) :
    π ≠ 0
LubinTate.Valuations.discretePrimeElement_pow_value

Powers of a discrete prime element have the expected scaled value.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem discretePrimeElement_pow_value
    {K : Type*} [Field K] (v : ExponentialValuation K)
    {π : K} {s : ℝ} (hπ : v π = (s : WithTop ℝ)) (n : ℕ) :
    v (π ^ n) = (((n : ℝ) * s : ℝ) : WithTop ℝ)
LubinTate.Valuations.discreteExponentialValuation_subring_exists_nat_value

A nonzero element of the valuation ring of a discrete valuation has a nonnegative integer multiple of the least positive value.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem discreteExponentialValuation_subring_exists_nat_value
    {K : Type*} [Field K] {v : ExponentialValuation K}
    {s : ℝ} (hs : 0 < s)
    (hvalues : ∀ x : K, x ≠ 0 → ∃ m : ℤ,
      v x = (((m : ℝ) * s : ℝ) : WithTop ℝ))
    {x : exponentialValuationSubring v} (hx : (x : K) ≠ 0) :
    ∃ n : ℕ, v (x : K) = (((n : ℝ) * s : ℝ) : WithTop ℝ)
LubinTate.Valuations.discrete_uniformizerPowerIdeal_mem_iff_value_ge

The ideal structure theorem for discrete valuation rings, scaled value description for a non-normalized discrete prime element: membership in π^n𝒪 is the lower bound n * s ≤ v(x).

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem discrete_uniformizerPowerIdeal_mem_iff_value_ge
    {K : Type*} [Field K] (v : ExponentialValuation K)
    {π : K} {s : ℝ} (hs : 0 < s) (hπ : v π = (s : WithTop ℝ))
    (n : ℕ) (x : exponentialValuationSubring v) :
    x ∈ uniformizerPowerIdeal
        (discretePrimeElementInValuationSubring v (le_of_lt hs) hπ) n ↔
      (((n : ℝ) * s : ℝ) : WithTop ℝ) ≤ v (x : K)
LubinTate.Valuations.discreteUniformizerPowerIdeal_le_ideal_of_mem_value_eq

If an ideal contains an element of scaled value n * s, then it contains the principal ideal π^n𝒪.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem discreteUniformizerPowerIdeal_le_ideal_of_mem_value_eq
    {K : Type*} [Field K] {v : ExponentialValuation K}
    {π : K} {s : ℝ} (hs : 0 < s) (hπ : v π = (s : WithTop ℝ))
    {I : Ideal (exponentialValuationSubring v)} {n : ℕ}
    {x : exponentialValuationSubring v}
    (hxI : x ∈ I)
    (hxval : v (x : K) = (((n : ℝ) * s : ℝ) : WithTop ℝ)) :
    uniformizerPowerIdeal
      (discretePrimeElementInValuationSubring v (le_of_lt hs) hπ) n ≤ I
LubinTate.Valuations.discreteExponentialValuationSubring_isPrincipalIdealRing

The ideal structure theorem for discrete valuation rings, canonical PID part for an arbitrary discrete exponential valuation, before choosing the normalized representative.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem discreteExponentialValuationSubring_isPrincipalIdealRing
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : DiscreteExponentialValuation v) :
    IsPrincipalIdealRing (exponentialValuationSubring v)
LubinTate.Valuations.discreteExponentialValuationSubring_isDiscreteValuationRing

The ideal structure theorem for discrete valuation rings, canonical DVR part for an arbitrary discrete exponential valuation.

Source context 5 commands

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

noncomputable section
open Filter
open scoped BigOperators Topology
namespace LubinTate
namespace Valuations
theorem discreteExponentialValuationSubring_isDiscreteValuationRing
    {K : Type*} [Field K] {v : ExponentialValuation K}
    (hv : DiscreteExponentialValuation v) :
    IsDiscreteValuationRing (exponentialValuationSubring v)