Module

PrincipalUnits.lean

Nyll.ValuedFieldTheory.LocalField.NonarchimedeanLocalField.PrincipalUnits
21 declarations indexed from sourceView source β†—

Principal units

Defines the filtration U^n = 1 + 𝓂^n, proves its basic order properties, and constructs the quotient of valuation-ring units by the first filtration step.

Declarations

LocalFieldTheory.principalUnits

The actual principal-unit filtration U^n = {u ∈ π’ͺ[K]Λ£ | u - 1 ∈ 𝓂[K]^n}.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def principalUnits (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    Subgroup π’ͺ[K]Λ£ where
  carrier := {u | ((u : π’ͺ[K]) - 1) ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])}
  one_mem' := by
    simp
  mul_mem' := by
    intro a b ha hb
    change ((a : π’ͺ[K]) * (b : π’ͺ[K]) - 1) ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])
    rw [show ((a : π’ͺ[K]) * (b : π’ͺ[K]) - 1) =
        ((a : π’ͺ[K]) - 1) * (b : π’ͺ[K]) + ((b : π’ͺ[K]) - 1) by
      ring]
    exact Ideal.add_mem _ (Ideal.mul_mem_right _ _ ha) hb
  inv_mem' := by
    intro a ha
    change (((a⁻¹ : π’ͺ[K]Λ£) : π’ͺ[K]) - 1) ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])
    rw [show (((a⁻¹ : π’ͺ[K]Λ£) : π’ͺ[K]) - 1) =
        -(((a⁻¹ : π’ͺ[K]Λ£) : π’ͺ[K]) * ((a : π’ͺ[K]) - 1)) by
      calc
        (((a⁻¹ : π’ͺ[K]Λ£) : π’ͺ[K]) - 1)
            = ((a⁻¹ : π’ͺ[K]Λ£) : π’ͺ[K])
              - (((a⁻¹ : π’ͺ[K]Λ£) : π’ͺ[K]) * (a : π’ͺ[K])) := by
                simp
        _ = -(((a⁻¹ : π’ͺ[K]Λ£) : π’ͺ[K]) * ((a : π’ͺ[K]) - 1)) := by
          ring]
    exact (𝓂[K] ^ n : Ideal π’ͺ[K]).neg_mem (Ideal.mul_mem_left _ _ ha)
LocalFieldTheory.mem_principalUnits_iff

A valuation-ring unit lies in the n-th principal-unit group exactly when it is congruent to one modulo the n-th maximal-ideal power.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem mem_principalUnits_iff (K : Type u) [Field K] [ValuativeRel K]
    (u : π’ͺ[K]Λ£) (n : Nat) :
    u ∈ principalUnits K n ↔ ((u : π’ͺ[K]) - 1) ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])
LocalFieldTheory.principalUnits_integerRingEquiv_mem

An automorphism of the valuation integer ring preserves the principal-unit filtration whenever it preserves the corresponding maximal-ideal power.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem principalUnits_integerRingEquiv_mem (K : Type u) [Field K] [ValuativeRel K]
    (n : Nat) (Οƒπ’ͺ : π’ͺ[K] ≃+* π’ͺ[K])
    (hpow : βˆ€ x : π’ͺ[K],
      x ∈ (𝓂[K] ^ n : Ideal π’ͺ[K]) β†’ Οƒπ’ͺ x ∈ (𝓂[K] ^ n : Ideal π’ͺ[K]))
    (u : π’ͺ[K]Λ£) (hu : u ∈ principalUnits K n) :
    Units.mapEquiv Οƒπ’ͺ.toMulEquiv u ∈ principalUnits K n
LocalFieldTheory.principalUnits_zero

The zeroth principal-unit group is the full unit group of the valuation ring.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem principalUnits_zero (K : Type u) [Field K] [ValuativeRel K] :
    principalUnits K 0 = ⊀
LocalFieldTheory.principalUnits_antitone

Principal-unit groups decrease as the filtration index increases.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem principalUnits_antitone (K : Type u) [Field K] [ValuativeRel K]
    {m n : Nat} (h : m ≀ n) :
    principalUnits K n ≀ principalUnits K m
LocalFieldTheory.principalUnits_succ_le

Each successor principal-unit group is contained in the preceding filtration step.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem principalUnits_succ_le (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    principalUnits K (n + 1) ≀ principalUnits K n
LocalFieldTheory.principalUnits_le_one

Every positive-index principal unit lies in the first principal-unit group.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem principalUnits_le_one (K : Type u) [Field K] [ValuativeRel K]
    {n : Nat} (hn : 1 ≀ n) :
    principalUnits K n ≀ principalUnits K 1
LocalFieldTheory.IntegerUnitsPrincipalQuot

Quotient of integer units by the actual principal-unit filtration.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def IntegerUnitsPrincipalQuot (K : Type u) [Field K] [ValuativeRel K]
    (n : Nat) : Type u
LocalFieldTheory.integerUnitsPrincipalQuotCommGroup

The quotient of valuation-ring units by an n-th principal-unit subgroup is a commutative group.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
instance integerUnitsPrincipalQuotCommGroup
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    CommGroup (IntegerUnitsPrincipalQuot K n)
LocalFieldTheory.integerUnitsPrincipalQuotConcreteEquiv

Explicit access to the concrete quotient model. Public consumers should use the named constructor and eliminators below instead of unfolding the quotient representation.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def integerUnitsPrincipalQuotConcreteEquiv
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    IntegerUnitsPrincipalQuot K n ≃* (π’ͺ[K]Λ£ β§Έ principalUnits K n)
LocalFieldTheory.integerUnitsPrincipalQuotMk

The quotient map π’ͺ[K]Λ£ β†’ π’ͺ[K]Λ£/U^n.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def integerUnitsPrincipalQuotMk (K : Type u) [Field K] [ValuativeRel K]
    (n : Nat) : π’ͺ[K]Λ£ β†’* IntegerUnitsPrincipalQuot K n
LocalFieldTheory.integerUnitsPrincipalQuotConcreteEquiv_mk

The concrete quotient equivalence sends the class of a valuation-ring unit to its quotient-group class.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsPrincipalQuotConcreteEquiv_mk
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (u : π’ͺ[K]Λ£) :
    integerUnitsPrincipalQuotConcreteEquiv K n
        (integerUnitsPrincipalQuotMk K n u) =
      QuotientGroup.mk u
LocalFieldTheory.integerUnitsPrincipalQuotMk_surjective

Every principal-unit quotient class has a valuation-ring unit representative.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsPrincipalQuotMk_surjective
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    Function.Surjective (integerUnitsPrincipalQuotMk K n)
LocalFieldTheory.integerUnitsPrincipalQuotMk_ker

The kernel of the principal-unit quotient map is the n-th principal-unit subgroup.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsPrincipalQuotMk_ker
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    MonoidHom.ker (integerUnitsPrincipalQuotMk K n) = principalUnits K n
LocalFieldTheory.integerUnitsPrincipalQuotMk_eq_one_iff

A unit maps to the identity quotient class exactly when it lies in the n-th principal-unit subgroup.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsPrincipalQuotMk_eq_one_iff
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (u : π’ͺ[K]Λ£) :
    integerUnitsPrincipalQuotMk K n u = 1 ↔ u ∈ principalUnits K n
LocalFieldTheory.integerUnitsPrincipalQuotMk_eq_iff_div_mem

Two units determine the same quotient class exactly when their quotient lies in the n-th principal-unit subgroup.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsPrincipalQuotMk_eq_iff_div_mem
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (u v : π’ͺ[K]Λ£) :
    integerUnitsPrincipalQuotMk K n u =
        integerUnitsPrincipalQuotMk K n v ↔
      u / v ∈ principalUnits K n
LocalFieldTheory.integerUnitsPrincipalQuotLift

Descend a homomorphism that kills U^n to the named quotient.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def integerUnitsPrincipalQuotLift
    {K : Type u} {M : Type*} [Field K] [ValuativeRel K] [Group M]
    (n : Nat) (f : π’ͺ[K]Λ£ β†’* M) (h : principalUnits K n ≀ f.ker) :
    IntegerUnitsPrincipalQuot K n β†’* M
LocalFieldTheory.integerUnitsPrincipalQuotLift_mk

A homomorphism lifted from the principal-unit quotient agrees with the original map on representatives.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsPrincipalQuotLift_mk
    {K : Type u} {M : Type*} [Field K] [ValuativeRel K] [Group M]
    (n : Nat) (f : π’ͺ[K]Λ£ β†’* M) (h : principalUnits K n ≀ f.ker)
    (u : π’ͺ[K]Λ£) :
    integerUnitsPrincipalQuotLift n f h
        (integerUnitsPrincipalQuotMk K n u) = f u
LocalFieldTheory.IntegerUnitsPrincipalQuot.inductionOn

Eliminate a quotient class through the canonical class map on arbitrary representatives.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem IntegerUnitsPrincipalQuot.inductionOn
    {K : Type u} [Field K] [ValuativeRel K] (n : Nat)
    {motive : IntegerUnitsPrincipalQuot K n β†’ Prop}
    (q : IntegerUnitsPrincipalQuot K n)
    (h : βˆ€ u : π’ͺ[K]Λ£, motive (integerUnitsPrincipalQuotMk K n u)) :
    motive q
LocalFieldTheory.unit_mul_sub_one_eq

Algebra identity used to prove multiplicative closure of principal units.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
lemma unit_mul_sub_one_eq (K : Type u) [Field K] [ValuativeRel K] (a b : π’ͺ[K]Λ£) :
    ((a * b : π’ͺ[K]Λ£) : π’ͺ[K]) - 1 =
      ((a : π’ͺ[K]) - 1) * ((b : π’ͺ[K]) - 1) +
        ((a : π’ͺ[K]) - 1) + ((b : π’ͺ[K]) - 1)
LocalFieldTheory.maximalIdeal_pow_antitone

Powers of the maximal ideal decrease as their exponent increases.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
lemma maximalIdeal_pow_antitone (K : Type u) [Field K] [ValuativeRel K]
    {m n : Nat} (h : m ≀ n) :
    (𝓂[K] ^ n : Ideal π’ͺ[K]) ≀ (𝓂[K] ^ m : Ideal π’ͺ[K])