Module

PrincipalUnitQuotients.lean

Nyll.ValuedFieldTheory.LocalField.NonarchimedeanLocalField.PrincipalUnitQuotients
103 declarations indexed from sourceView source β†—

Successive principal-unit quotients

Develops U^n/U^(n+1) and identifies it with the additive ideal quotient 𝓂^n/𝓂^(n+1) through the first-order map a ↦ 1 + a.

Separatedness of the principal-unit filtration

Maximal-ideal powers as local neighborhoods

Finite correction products for complete lifting

Declarations

LocalFieldTheory.PrincipalUnitsSuccQuot

The actual successive quotient U^n / U^(n+1) of principal units.

Source context 5 commands

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

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

Equips the successive principal-unit quotient U^n/U^(n+1) with its commutative group structure.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
instance principalUnitsSuccQuotCommGroup
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    CommGroup (PrincipalUnitsSuccQuot K n)
LocalFieldTheory.principalUnitsSuccQuotConcreteEquiv

Explicit access to the concrete quotient representation.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def principalUnitsSuccQuotConcreteEquiv
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    PrincipalUnitsSuccQuot K n ≃*
      (principalUnits K n β§Έ
        (principalUnits K (n + 1)).subgroupOf (principalUnits K n))
LocalFieldTheory.principalUnitsSuccQuotMk

The quotient map U^n β†’ U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def principalUnitsSuccQuotMk (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    principalUnits K n β†’* PrincipalUnitsSuccQuot K n
LocalFieldTheory.principalUnitsSuccQuotLift

Descend a homomorphism that kills U^(n+1) inside U^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def principalUnitsSuccQuotLift
    {K : Type u} {M : Type*} [Field K] [ValuativeRel K] [Group M]
    (n : Nat) (f : principalUnits K n β†’* M)
    (h : (principalUnits K (n + 1)).subgroupOf
      (principalUnits K n) ≀ f.ker) :
    PrincipalUnitsSuccQuot K n β†’* M
LocalFieldTheory.principalUnitsSuccQuotLift_mk

The homomorphism descended from U^n agrees with the original homomorphism on quotient representatives.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotLift_mk
    {K : Type u} {M : Type*} [Field K] [ValuativeRel K] [Group M]
    (n : Nat) (f : principalUnits K n β†’* M)
    (h : (principalUnits K (n + 1)).subgroupOf
      (principalUnits K n) ≀ f.ker) (x : principalUnits K n) :
    principalUnitsSuccQuotLift n f h
        (principalUnitsSuccQuotMk K n x) = f x
LocalFieldTheory.PrincipalUnitsSuccQuot.inductionOn

Eliminate a successive principal-unit class through the canonical map.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem PrincipalUnitsSuccQuot.inductionOn
    {K : Type u} [Field K] [ValuativeRel K] (n : Nat)
    {motive : PrincipalUnitsSuccQuot K n β†’ Prop}
    (q : PrincipalUnitsSuccQuot K n)
    (h : βˆ€ x : principalUnits K n,
      motive (principalUnitsSuccQuotMk K n x)) :
    motive q
LocalFieldTheory.maximalIdeal_iInf_pow_eq_bot

Krull separatedness of the maximal-ideal filtration of the valuation integer ring of a nonarchimedean local field.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdeal_iInf_pow_eq_bot
    (K : Type u) [Field K] [ValuativeRel K] [TopologicalSpace K]
    [IsNonarchimedeanLocalField K] :
    (β¨… n : Nat, (𝓂[K] ^ n : Ideal π’ͺ[K])) = βŠ₯
LocalFieldTheory.eq_zero_of_mem_all_maximalIdeal_pow

An element of the valuation integer ring lying in every power of the maximal ideal is zero.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem eq_zero_of_mem_all_maximalIdeal_pow
    (K : Type u) [Field K] [ValuativeRel K] [TopologicalSpace K]
    [IsNonarchimedeanLocalField K] (x : π’ͺ[K])
    (hx : βˆ€ n : Nat, x ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])) :
    x = 0
LocalFieldTheory.principalUnits_eq_one_of_mem_all

The principal-unit filtration is separated: a unit lying in every U^n is the unit 1.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnits_eq_one_of_mem_all
    (K : Type u) [Field K] [ValuativeRel K] [TopologicalSpace K]
    [IsNonarchimedeanLocalField K] (u : π’ͺ[K]Λ£)
    (hu : βˆ€ n : Nat, u ∈ principalUnits K n) :
    u = 1
LocalFieldTheory.principalUnits_eq_one_of_mem_add_all

Variant tailored to finite-depth approximation statements: if a unit lies in U^(n+d) for every d, then it is 1.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnits_eq_one_of_mem_add_all
    (K : Type u) [Field K] [ValuativeRel K] [TopologicalSpace K]
    [IsNonarchimedeanLocalField K] (n : Nat) (u : π’ͺ[K]Λ£)
    (hu : βˆ€ d : Nat, u ∈ principalUnits K (n + d)) :
    u = 1
LocalFieldTheory.exists_maximalIdeal_pow_subset_nhds_zero

Every neighborhood of zero in the valuation integer ring contains a sufficiently deep power of the maximal ideal.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem exists_maximalIdeal_pow_subset_nhds_zero
    (K : Type u) [Field K] [ValuativeRel K] [TopologicalSpace K]
    [IsNonarchimedeanLocalField K] (s : Set π’ͺ[K])
    (hs : s ∈ nhds (0 : π’ͺ[K])) :
    βˆƒ N : Nat, ((𝓂[K] ^ N : Ideal π’ͺ[K]) : Set π’ͺ[K]) βŠ† s
LocalFieldTheory.eventually_maximalIdeal_pow_subset_nhds_zero

Eventual form of exists_maximalIdeal_pow_subset_nhds_zero: all deeper powers of the maximal ideal lie in a fixed zero-neighborhood.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem eventually_maximalIdeal_pow_subset_nhds_zero
    (K : Type u) [Field K] [ValuativeRel K] [TopologicalSpace K]
    [IsNonarchimedeanLocalField K] (s : Set π’ͺ[K])
    (hs : s ∈ nhds (0 : π’ͺ[K])) :
    βˆƒ N : Nat, βˆ€ m : Nat, N ≀ m β†’
      ((𝓂[K] ^ m : Ideal π’ͺ[K]) : Set π’ͺ[K]) βŠ† s
LocalFieldTheory.isClosed_maximalIdeal_pow

Each power of the maximal ideal is closed in the valuation integer ring.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem isClosed_maximalIdeal_pow
    (K : Type u) [Field K] [ValuativeRel K] [TopologicalSpace K]
    [IsNonarchimedeanLocalField K] (n : Nat) :
    IsClosed (((𝓂[K] ^ n : Ideal π’ͺ[K]) : Set π’ͺ[K]))
LocalFieldTheory.maximalIdeal_pow_mem_nhds_zero

Each power of the maximal ideal is a zero-neighborhood in the valuation integer ring.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdeal_pow_mem_nhds_zero
    (K : Type u) [Field K] [ValuativeRel K] [TopologicalSpace K]
    [IsNonarchimedeanLocalField K] (n : Nat) :
    (((𝓂[K] ^ n : Ideal π’ͺ[K]) : Set π’ͺ[K])) ∈ nhds (0 : π’ͺ[K])
LocalFieldTheory.tendsto_pow_succ_of_mem_maximalIdeal

Powers of an element of the maximal ideal tend to zero in the valuation integer ring.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem tendsto_pow_succ_of_mem_maximalIdeal
    (K : Type u) [Field K] [ValuativeRel K] [TopologicalSpace K]
    [IsNonarchimedeanLocalField K] {x : π’ͺ[K]}
    (hx : x ∈ (𝓂[K] : Ideal π’ͺ[K])) :
    Tendsto (fun d : Nat => x ^ (d + 1)) atTop (nhds (0 : π’ͺ[K])) := by
  rw [tendsto_def]
  intro s hs
  rcases eventually_maximalIdeal_pow_subset_nhds_zero K s hs with ⟨N, hN⟩
  filter_upwards [eventually_ge_atTop N] with d hd
  exact hN (d + 1) (le_trans hd (Nat.le_succ d))
    (Ideal.pow_mem_pow hx (d + 1))
LocalFieldTheory.tendsto_neg_pow_succ_of_mem_maximalIdeal

The signed version used by finite geometric inverse corrections.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem tendsto_neg_pow_succ_of_mem_maximalIdeal
    (K : Type u) [Field K] [ValuativeRel K] [TopologicalSpace K]
    [IsNonarchimedeanLocalField K] {x : π’ͺ[K]}
    (hx : x ∈ (𝓂[K] : Ideal π’ͺ[K])) :
    Tendsto (fun d : Nat => (-x) ^ (d + 1)) atTop (nhds (0 : π’ͺ[K])) :=
  tendsto_pow_succ_of_mem_maximalIdeal K ((𝓂[K] : Ideal π’ͺ[K]).neg_mem hx)
LocalFieldTheory.eventually_sub_mem_maximalIdeal_pow_of_tendsto

If a sequence of valuation integers converges, then its difference from the limit is eventually in any fixed power of the maximal ideal.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem eventually_sub_mem_maximalIdeal_pow_of_tendsto
    (K : Type u) [Field K] [ValuativeRel K] [UniformSpace K] [IsUniformAddGroup K]
    [IsNonarchimedeanLocalField K] {f : Nat β†’ π’ͺ[K]} {x : π’ͺ[K]} (n : Nat)
    (hf : Tendsto f atTop (nhds x)) :
    βˆ€αΆ  d in atTop, f d - x ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])
LocalFieldTheory.eventually_div_mem_principalUnits_of_tendsto_units

If valuation-ring units converge in the valuation integer ring, then their quotient by the limit is eventually in every fixed principal-unit level.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem eventually_div_mem_principalUnits_of_tendsto_units
    (K : Type u) [Field K] [ValuativeRel K] [UniformSpace K] [IsUniformAddGroup K]
    [IsNonarchimedeanLocalField K] {f : Nat β†’ π’ͺ[K]Λ£} {x : π’ͺ[K]Λ£} (n : Nat)
    (hf : Tendsto (fun d : Nat => ((f d : π’ͺ[K]Λ£) : π’ͺ[K])) atTop
      (nhds ((x : π’ͺ[K]Λ£) : π’ͺ[K]))) :
    βˆ€αΆ  d in atTop, f d / x ∈ principalUnits K n := by
  have hsub := eventually_sub_mem_maximalIdeal_pow_of_tendsto K n hf
  filter_upwards [hsub] with d hd
  rw [mem_principalUnits_iff]
  change (((f d / x : π’ͺ[K]Λ£) : π’ͺ[K]) - 1) ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])
  rw [show (((f d / x : π’ͺ[K]Λ£) : π’ͺ[K]) - 1) =
      (((f d : π’ͺ[K]Λ£) : π’ͺ[K]) - ((x : π’ͺ[K]Λ£) : π’ͺ[K])) * ↑(x⁻¹) by
    simp only [div_eq_mul_inv, Units.val_mul]
    calc
      ((f d : π’ͺ[K]Λ£) : π’ͺ[K]) * ↑(x⁻¹) - 1 =
          ((f d : π’ͺ[K]Λ£) : π’ͺ[K]) * ↑(x⁻¹) -
            ((x : π’ͺ[K]Λ£) : π’ͺ[K]) * ↑(x⁻¹) := by
            simp
      _ = (((f d : π’ͺ[K]Λ£) : π’ͺ[K]) - ((x : π’ͺ[K]Λ£) : π’ͺ[K])) * ↑(x⁻¹) := by
            ring]
  exact (𝓂[K] ^ n : Ideal π’ͺ[K]).mul_mem_right _ hd
LocalFieldTheory.principalUnitsCorrectionProduct

Finite product of a correction sequence whose d-th term lies in U^(n+d). This algebraic partial product is the finite-stage input to the complete-limit construction.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def principalUnitsCorrectionProduct (K : Type u) [Field K] [ValuativeRel K]
    (n : Nat) (z : βˆ€ d : Nat, principalUnits K (n + d)) :
    Nat β†’ π’ͺ[K]Λ£
  | 0 => 1
  | d + 1 => principalUnitsCorrectionProduct K n z d * (z d : π’ͺ[K]Λ£)
LocalFieldTheory.principalUnitsCorrectionProduct_zero

The correction product with no factors is the identity unit.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsCorrectionProduct_zero
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) :
    principalUnitsCorrectionProduct K n z 0 = 1
LocalFieldTheory.principalUnitsCorrectionProduct_succ

The next correction product appends the correction at the current filtration depth.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsCorrectionProduct_succ
    (K : Type u) [Field K] [ValuativeRel K] (n d : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) :
    principalUnitsCorrectionProduct K n z (d + 1) =
      principalUnitsCorrectionProduct K n z d * (z d : π’ͺ[K]Λ£)
LocalFieldTheory.principalUnitsCorrectionProduct_mem

Every finite correction product stays in the initial principal-unit level U^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsCorrectionProduct_mem
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) (d : Nat) :
    principalUnitsCorrectionProduct K n z d ∈ principalUnits K n
LocalFieldTheory.principalUnitsCorrectionProduct_div_mem

The tail quotient of two finite correction products lies in the principal unit level controlled by the earlier index. This is the filtration input for the later Cauchy argument.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsCorrectionProduct_div_mem
    (K : Type u) [Field K] [ValuativeRel K] (n m d : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) :
    principalUnitsCorrectionProduct K n z (m + d) /
        principalUnitsCorrectionProduct K n z m ∈
      principalUnits K (n + m)
LocalFieldTheory.principalUnitsCorrectionProduct_div_sub_one_mem

Ring-valued form of the tail-control statement: the two finite correction products are congruent modulo 𝓂^(n+m).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsCorrectionProduct_div_sub_one_mem
    (K : Type u) [Field K] [ValuativeRel K] (n m d : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) :
    ((principalUnitsCorrectionProduct K n z (m + d) /
          principalUnitsCorrectionProduct K n z m : π’ͺ[K]Λ£) : π’ͺ[K]) - 1 ∈
      (𝓂[K] ^ (n + m) : Ideal π’ͺ[K])
LocalFieldTheory.unit_sub_eq_mul_div_sub_one

Rewrites a difference of units as the earlier unit times a quotient error. This is the algebraic bridge from multiplicative tail control to additive uniformity control.

Source context 5 commands

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

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

Additive form of the correction-product tail control. This is the form needed by the additive uniformity on the valuation integer ring.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsCorrectionProduct_sub_mem
    (K : Type u) [Field K] [ValuativeRel K] (n m d : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) :
    ((principalUnitsCorrectionProduct K n z (m + d) : π’ͺ[K]Λ£) : π’ͺ[K]) -
        ((principalUnitsCorrectionProduct K n z m : π’ͺ[K]Λ£) : π’ͺ[K]) ∈
      (𝓂[K] ^ (n + m) : Ideal π’ͺ[K])
LocalFieldTheory.principalUnitsCorrectionProduct_sub_mem_of_le

Uniform-tail algebraic input: two sufficiently late correction products are congruent modulo any fixed earlier level of the maximal-ideal filtration.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsCorrectionProduct_sub_mem_of_le
    (K : Type u) [Field K] [ValuativeRel K] (n N i j : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d))
    (hi : N ≀ i) (hj : N ≀ j) :
    ((principalUnitsCorrectionProduct K n z i : π’ͺ[K]Λ£) : π’ͺ[K]) -
        ((principalUnitsCorrectionProduct K n z j : π’ͺ[K]Λ£) : π’ͺ[K]) ∈
      (𝓂[K] ^ (n + N) : Ideal π’ͺ[K])
LocalFieldTheory.principalUnitsCorrectionProduct_cauchySeq

The finite correction products form a Cauchy sequence in the valuation integer ring. This is the first complete-side output of the tail estimates.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsCorrectionProduct_cauchySeq
    (K : Type u) [Field K] [ValuativeRel K] [UniformSpace K] [IsUniformAddGroup K]
    [IsNonarchimedeanLocalField K] (n : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) :
    CauchySeq fun d : Nat =>
      ((principalUnitsCorrectionProduct K n z d : π’ͺ[K]Λ£) : π’ͺ[K]) := by
  rw [cauchySeq_iff]
  intro V hV
  rw [uniformity_eq_comap_nhds_zero π’ͺ[K]] at hV
  rw [mem_comap] at hV
  rcases hV with ⟨s, hs, hsub⟩
  rcases eventually_maximalIdeal_pow_subset_nhds_zero K s hs with ⟨N, hN⟩
  refine ⟨N, ?_⟩
  intro i hi j hj
  apply hsub
  exact hN (n + N) (Nat.le_add_left N n)
    (principalUnitsCorrectionProduct_sub_mem_of_le K n N j i z hj hi)
LocalFieldTheory.exists_tendsto_principalUnitsCorrectionProduct

Completeness of the valuation integer ring gives a limit for the finite correction products. The statement deliberately stops at an π’ͺ[K]-valued limit; proving that the limit is a unit and remains in the intended principal-unit level is the next frontier.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem exists_tendsto_principalUnitsCorrectionProduct
    (K : Type u) [Field K] [ValuativeRel K] [UniformSpace K] [IsUniformAddGroup K]
    [IsNonarchimedeanLocalField K] (n : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) :
    βˆƒ x : π’ͺ[K], Tendsto
      (fun d : Nat => ((principalUnitsCorrectionProduct K n z d : π’ͺ[K]Λ£) : π’ͺ[K]))
      atTop (nhds x) :=
  cauchySeq_tendsto_of_complete
    (principalUnitsCorrectionProduct_cauchySeq K n z)
LocalFieldTheory.principalUnitsCorrectionProduct_limit_sub_one_mem

Any limit of the correction-product sequence still satisfies the defining congruence of U^n, viewed inside the valuation integer ring.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsCorrectionProduct_limit_sub_one_mem
    (K : Type u) [Field K] [ValuativeRel K] [UniformSpace K] [IsUniformAddGroup K]
    [IsNonarchimedeanLocalField K] (n : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) (x : π’ͺ[K])
    (hx : Tendsto
      (fun d : Nat => ((principalUnitsCorrectionProduct K n z d : π’ͺ[K]Λ£) : π’ͺ[K]))
      atTop (nhds x)) :
    x - 1 ∈ (𝓂[K] ^ n : Ideal π’ͺ[K]) := by
  have hclosed := isClosed_maximalIdeal_pow K n
  refine hclosed.mem_of_tendsto
    (f := fun d : Nat =>
      ((principalUnitsCorrectionProduct K n z d : π’ͺ[K]Λ£) : π’ͺ[K]) - 1)
    (b := (atTop : Filter Nat)) (x := x - 1) ?_ ?_
  Β· exact hx.sub tendsto_const_nhds
  Β· exact Eventually.of_forall fun d =>
      (mem_principalUnits_iff K (principalUnitsCorrectionProduct K n z d) n).1
        (principalUnitsCorrectionProduct_mem K n z d)
LocalFieldTheory.exists_tendsto_principalUnitsCorrectionProduct_sub_one_mem

Complete-side output with the retained principal-unit congruence: the finite correction products have an π’ͺ[K]-valued limit whose difference from 1 lies in 𝓂^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem exists_tendsto_principalUnitsCorrectionProduct_sub_one_mem
    (K : Type u) [Field K] [ValuativeRel K] [UniformSpace K] [IsUniformAddGroup K]
    [IsNonarchimedeanLocalField K] (n : Nat)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) :
    βˆƒ x : π’ͺ[K], Tendsto
        (fun d : Nat => ((principalUnitsCorrectionProduct K n z d : π’ͺ[K]Λ£) : π’ͺ[K]))
        atTop (nhds x) ∧
      x - 1 ∈ (𝓂[K] ^ n : Ideal π’ͺ[K]) := by
  rcases exists_tendsto_principalUnitsCorrectionProduct K n z with ⟨x, hx⟩
  exact ⟨x, hx, principalUnitsCorrectionProduct_limit_sub_one_mem K n z x hx⟩
LocalFieldTheory.principalUnitsSuccQuotConcreteEquiv_mk

The concrete quotient equivalence sends a principal-unit class to the corresponding QuotientGroup class.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotConcreteEquiv_mk
    (K : Type u) [Field K] [ValuativeRel K]
    (n : Nat) (u : principalUnits K n) :
    principalUnitsSuccQuotConcreteEquiv K n
        (principalUnitsSuccQuotMk K n u) =
      QuotientGroup.mk u
LocalFieldTheory.principalUnitsSuccIncl

The actual inclusion U^(n+1) β†’ U^n of principal units.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def principalUnitsSuccIncl (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    principalUnits K (n + 1) β†’* principalUnits K n where
  toFun u := ⟨u.1, principalUnits_succ_le K n u.2⟩
  map_one' := rfl
  map_mul' := by
    intro a b
    rfl
LocalFieldTheory.principalUnitsSuccIncl_apply

The inclusion U^(n+1) β†’ U^n retains the underlying unit and its stronger filtration witness.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccIncl_apply
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (u : principalUnits K (n + 1)) :
    principalUnitsSuccIncl K n u =
      ⟨u.1, principalUnits_succ_le K n u.2⟩
LocalFieldTheory.principalUnitsSuccIncl_val

The inclusion U^(n+1) β†’ U^n does not change the underlying valuation-ring unit.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccIncl_val
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (u : principalUnits K (n + 1)) :
    ((principalUnitsSuccIncl K n u : principalUnits K n) : π’ͺ[K]Λ£) =
      (u : π’ͺ[K]Λ£)
LocalFieldTheory.principalUnitsSuccIncl_injective

The inclusion U^(n+1) β†’ U^n is injective.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccIncl_injective
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    Function.Injective (principalUnitsSuccIncl K n)
LocalFieldTheory.principalUnitsSuccIncl_range

The range of U^(n+1) β†’ U^n is the subgroup used to form U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccIncl_range
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    MonoidHom.range (principalUnitsSuccIncl K n) =
      (principalUnits K (n + 1)).subgroupOf (principalUnits K n)
LocalFieldTheory.principalUnitsSuccIncl_mem_range_iff

A principal unit lies in the range of U^(n+1) β†’ U^n exactly when it belongs to the next filtration subgroup.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccIncl_mem_range_iff
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (u : principalUnits K n) :
    u ∈ MonoidHom.range (principalUnitsSuccIncl K n) ↔
      u ∈ (principalUnits K (n + 1)).subgroupOf (principalUnits K n)
LocalFieldTheory.principalUnitsSuccQuotMk_surjective

Every class in U^n/U^(n+1) has a representative in U^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_surjective
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    Function.Surjective (principalUnitsSuccQuotMk K n)
LocalFieldTheory.principalUnitsSuccQuotMk_ker

The kernel of the canonical map U^n β†’ U^n/U^(n+1) is the subgroup U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_ker (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    MonoidHom.ker (principalUnitsSuccQuotMk K n) =
      (principalUnits K (n + 1)).subgroupOf (principalUnits K n)
LocalFieldTheory.principalUnitsSuccQuotMk_mem_ker_iff

A principal unit is killed by the canonical quotient map exactly when it lies in U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_mem_ker_iff
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (u : principalUnits K n) :
    u ∈ MonoidHom.ker (principalUnitsSuccQuotMk K n) ↔
      u ∈ (principalUnits K (n + 1)).subgroupOf (principalUnits K n)
LocalFieldTheory.principalUnitsSuccQuotMk_range

The canonical map from U^n has the whole successive quotient as its range.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_range
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    MonoidHom.range (principalUnitsSuccQuotMk K n) = ⊀
LocalFieldTheory.principalUnitsSuccQuotMk_mem_range

Every element of U^n/U^(n+1) belongs to the range of the canonical quotient map.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_mem_range
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (x : PrincipalUnitsSuccQuot K n) :
    x ∈ MonoidHom.range (principalUnitsSuccQuotMk K n)
LocalFieldTheory.principalUnitsSuccQuotMk_range_card_eq

The range of the canonical quotient map has the same finite cardinality as U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_range_card_eq
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    [Finite (PrincipalUnitsSuccQuot K n)] :
    Nat.card (MonoidHom.range (principalUnitsSuccQuotMk K n)) =
      Nat.card (PrincipalUnitsSuccQuot K n)
LocalFieldTheory.principalUnitsSuccQuotMk_eq_one_iff

The class of a principal unit is trivial exactly when the unit belongs to U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_eq_one_iff
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (u : principalUnits K n) :
    principalUnitsSuccQuotMk K n u = 1 ↔
      u ∈ (principalUnits K (n + 1)).subgroupOf (principalUnits K n)
LocalFieldTheory.principalUnitsSuccQuotMk_mk_eq_mk_iff

Two principal units define the same successive-quotient class exactly when one differs by a factor in U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_mk_eq_mk_iff
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (u v : principalUnits K n) :
    principalUnitsSuccQuotMk K n u = principalUnitsSuccQuotMk K n v ↔
      βˆƒ z ∈ (principalUnits K (n + 1)).subgroupOf (principalUnits K n),
        u * z = v
LocalFieldTheory.principalUnitsSuccQuotMk_eq_iff_div_mem

Two principal units define the same successive-quotient class exactly when their quotient lies in U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_eq_iff_div_mem
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (u v : principalUnits K n) :
    principalUnitsSuccQuotMk K n u = principalUnitsSuccQuotMk K n v ↔
      u / v ∈ (principalUnits K (n + 1)).subgroupOf (principalUnits K n)
LocalFieldTheory.principalUnitsSuccIncl_exact

Exactness of the concrete sequence U^(n+1) β†’ U^n β†’ U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccIncl_exact
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    MonoidHom.range (principalUnitsSuccIncl K n) =
      MonoidHom.ker (principalUnitsSuccQuotMk K n)
LocalFieldTheory.principalUnitsSuccIncl_mem_ker

Every element included from U^(n+1) lies in the kernel of the quotient map from U^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccIncl_mem_ker
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (u : principalUnits K (n + 1)) :
    principalUnitsSuccIncl K n u ∈ MonoidHom.ker (principalUnitsSuccQuotMk K n)
LocalFieldTheory.principalUnitsSuccQuotMk_comp_incl_apply

Quotienting an element after including it from U^(n+1) produces the identity class.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_comp_incl_apply
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (u : principalUnits K (n + 1)) :
    principalUnitsSuccQuotMk K n (principalUnitsSuccIncl K n u) = 1
LocalFieldTheory.principalUnitsSuccQuotMk_comp_incl

The composite U^(n+1) β†’ U^n β†’ U^n/U^(n+1) is the trivial homomorphism.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_comp_incl
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    (principalUnitsSuccQuotMk K n).comp (principalUnitsSuccIncl K n) = 1
LocalFieldTheory.mem_principalUnits_succ_subgroupOf_iff

Membership in the embedded subgroup U^(n+1) is equivalent to congruence to one modulo 𝓂^(n+1).

Source context 5 commands

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

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

The submodule 𝓂^(n+1) inside 𝓂^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
abbrev maximalIdealPowSuccSubmodule
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    Submodule (π’ͺ[K]) ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u)
LocalFieldTheory.MaximalIdealPowSuccQuot

The additive ideal-power quotient 𝓂^n/𝓂^(n+1).

Source context 5 commands

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

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

Equips the additive quotient 𝓂^n/𝓂^(n+1) with its additive commutative group structure.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
instance maximalIdealPowSuccQuotAddCommGroup
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    AddCommGroup (MaximalIdealPowSuccQuot K n)
LocalFieldTheory.maximalIdealPowSuccQuotModule

Equips 𝓂^n/𝓂^(n+1) with the module structure induced from the valuation ring.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
instance maximalIdealPowSuccQuotModule
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    Module π’ͺ[K] (MaximalIdealPowSuccQuot K n)
LocalFieldTheory.maximalIdealPowSuccQuotConcreteLinearEquiv

Explicit access to the concrete submodule-quotient representation.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def maximalIdealPowSuccQuotConcreteLinearEquiv
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    MaximalIdealPowSuccQuot K n ≃ₗ[π’ͺ[K]]
      (((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u) β§Έ
        maximalIdealPowSuccSubmodule K n)
LocalFieldTheory.maximalIdealPowSuccQuotMk

The quotient map 𝓂^n β†’ 𝓂^n/𝓂^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def maximalIdealPowSuccQuotMk
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u) β†’β‚—[π’ͺ[K]]
      MaximalIdealPowSuccQuot K n
LocalFieldTheory.maximalIdealPowSuccQuotConcreteLinearEquiv_mk

The concrete linear equivalence sends an ideal-power class to the corresponding submodule-quotient class.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdealPowSuccQuotConcreteLinearEquiv_mk
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (a : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u)) :
    maximalIdealPowSuccQuotConcreteLinearEquiv K n
        (maximalIdealPowSuccQuotMk K n a) =
      Submodule.Quotient.mk a
LocalFieldTheory.maximalIdealPowSuccQuotMk_surjective

Every class in 𝓂^n/𝓂^(n+1) has a representative in 𝓂^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdealPowSuccQuotMk_surjective
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) :
    Function.Surjective (maximalIdealPowSuccQuotMk K n)
LocalFieldTheory.MaximalIdealPowSuccQuot.inductionOn

Eliminate an ideal-power quotient class through its canonical class map.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem MaximalIdealPowSuccQuot.inductionOn
    {K : Type u} [Field K] [ValuativeRel K] (n : Nat)
    {motive : MaximalIdealPowSuccQuot K n β†’ Prop}
    (q : MaximalIdealPowSuccQuot K n)
    (h : βˆ€ a : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u),
      motive (maximalIdealPowSuccQuotMk K n a)) :
    motive q
LocalFieldTheory.MaximalIdealPowSuccQuot.inductionOnβ‚‚

Binary elimination through arbitrary ideal-power representatives.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem MaximalIdealPowSuccQuot.inductionOnβ‚‚
    {K : Type u} [Field K] [ValuativeRel K] (n : Nat)
    {motive : MaximalIdealPowSuccQuot K n β†’
      MaximalIdealPowSuccQuot K n β†’ Prop}
    (q r : MaximalIdealPowSuccQuot K n)
    (h : βˆ€ a b : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u),
      motive (maximalIdealPowSuccQuotMk K n a)
        (maximalIdealPowSuccQuotMk K n b)) :
    motive q r
LocalFieldTheory.maximalIdealPowSuccQuotLift

Descend an arbitrary representative-level function that is constant modulo 𝓂^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def maximalIdealPowSuccQuotLift
    {K : Type u} {P : Sort*} [Field K] [ValuativeRel K] (n : Nat)
    (f : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u) β†’ P)
    (h : βˆ€ a b, a - b ∈ maximalIdealPowSuccSubmodule K n β†’
      f a = f b) :
    MaximalIdealPowSuccQuot K n β†’ P
LocalFieldTheory.maximalIdealPowSuccQuotLift_mk

A function descended to 𝓂^n/𝓂^(n+1) agrees with the original function on representatives.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdealPowSuccQuotLift_mk
    {K : Type u} {P : Sort*} [Field K] [ValuativeRel K] (n : Nat)
    (f : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u) β†’ P)
    (h : βˆ€ a b, a - b ∈ maximalIdealPowSuccSubmodule K n β†’
      f a = f b)
    (a : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u)) :
    maximalIdealPowSuccQuotLift n f h
        (maximalIdealPowSuccQuotMk K n a) = f a
LocalFieldTheory.maximalIdealPowSuccQuotLinearLift

Descend a linear map that vanishes on 𝓂^(n+1) inside 𝓂^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def maximalIdealPowSuccQuotLinearLift
    {K : Type u} {M : Type*} [Field K] [ValuativeRel K]
    [AddCommGroup M] [Module π’ͺ[K] M] (n : Nat)
    (f : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u) β†’β‚—[π’ͺ[K]] M)
    (h : maximalIdealPowSuccSubmodule K n ≀ f.ker) :
    MaximalIdealPowSuccQuot K n β†’β‚—[π’ͺ[K]] M
LocalFieldTheory.maximalIdealPowSuccQuotLinearLift_mk

A linear map descended to 𝓂^n/𝓂^(n+1) agrees with the original linear map on representatives. A linear map descended to 𝓂^n/𝓂^(n+1) agrees with the original linear map on representatives.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdealPowSuccQuotLinearLift_mk
    {K : Type u} {M : Type*} [Field K] [ValuativeRel K]
    [AddCommGroup M] [Module π’ͺ[K] M] (n : Nat)
    (f : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u) β†’β‚—[π’ͺ[K]] M)
    (h : maximalIdealPowSuccSubmodule K n ≀ f.ker)
    (a : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u)) :
    maximalIdealPowSuccQuotLinearLift n f h
        (maximalIdealPowSuccQuotMk K n a) = f a
LocalFieldTheory.mem_maximalIdealPowSuccSubmodule_iff

An element of 𝓂^n belongs to the defining submodule exactly when its value lies in 𝓂^(n+1). An element of 𝓂^n belongs to the defining submodule exactly when its value lies in 𝓂^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem mem_maximalIdealPowSuccSubmodule_iff
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (a : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u)) :
    a ∈ maximalIdealPowSuccSubmodule K n ↔
      (a : π’ͺ[K]) ∈ (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K])
LocalFieldTheory.maximalIdealPowSuccQuotMk_eq_zero_iff

The class of an element of 𝓂^n is zero exactly when its value lies in 𝓂^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdealPowSuccQuotMk_eq_zero_iff
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (a : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u)) :
    maximalIdealPowSuccQuotMk K n a = 0 ↔
      (a : π’ͺ[K]) ∈ (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K])
LocalFieldTheory.maximalIdealPowSuccQuotMk_eq_iff

Two elements of 𝓂^n define the same quotient class exactly when their difference lies in 𝓂^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdealPowSuccQuotMk_eq_iff
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat)
    (a b : ((𝓂[K] ^ n : Ideal π’ͺ[K]) : Type u)) :
    maximalIdealPowSuccQuotMk K n a =
        maximalIdealPowSuccQuotMk K n b ↔
      a - b ∈ maximalIdealPowSuccSubmodule K n
LocalFieldTheory.isUnit_one_add_of_mem_maximalIdeal_pow

If a ∈ 𝓂^n with n β‰₯ 1, then 1 + a is a unit of the valuation ring.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem isUnit_one_add_of_mem_maximalIdeal_pow
    (K : Type u) [Field K] [ValuativeRel K] {n : Nat} (hn : 1 ≀ n)
    (a : π’ͺ[K]) (ha : a ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])) : IsUnit (1 + a)
LocalFieldTheory.principalUnitOneAddOfMemPow

The unit 1 + a attached to an element a ∈ 𝓂^n, for n β‰₯ 1.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def principalUnitOneAddOfMemPow
    (K : Type u) [Field K] [ValuativeRel K] {n : Nat} (hn : 1 ≀ n)
    (a : π’ͺ[K]) (ha : a ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])) : π’ͺ[K]Λ£
LocalFieldTheory.principalUnitOneAddOfMemPow_val

The valuation-ring value of the unit constructed from a ∈ 𝓂^n is 1 + a.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitOneAddOfMemPow_val
    (K : Type u) [Field K] [ValuativeRel K] {n : Nat} (hn : 1 ≀ n)
    (a : π’ͺ[K]) (ha : a ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])) :
    ((principalUnitOneAddOfMemPow K hn a ha : π’ͺ[K]Λ£) : π’ͺ[K]) = 1 + a
LocalFieldTheory.principalUnitOneAddOfMemPowSubgroup

The unit 1 + a, viewed as an element of U^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def principalUnitOneAddOfMemPowSubgroup
    (K : Type u) [Field K] [ValuativeRel K] {n : Nat} (hn : 1 ≀ n)
    (a : π’ͺ[K]) (ha : a ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])) : principalUnits K n
LocalFieldTheory.principalUnitOneAddOfMemPowSubgroup_val

Viewing the unit 1 + a in U^n preserves its underlying valuation-ring unit.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitOneAddOfMemPowSubgroup_val
    (K : Type u) [Field K] [ValuativeRel K] {n : Nat} (hn : 1 ≀ n)
    (a : π’ͺ[K]) (ha : a ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])) :
    ((principalUnitOneAddOfMemPowSubgroup K hn a ha : principalUnits K n) : π’ͺ[K]Λ£) =
      principalUnitOneAddOfMemPow K hn a ha
LocalFieldTheory.exists_tendsto_principalUnitsCorrectionProduct_principalUnit

For n β‰₯ 1, the complete limit of finite correction products can be viewed as an element of the principal-unit subgroup U^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem exists_tendsto_principalUnitsCorrectionProduct_principalUnit
    (K : Type u) [Field K] [ValuativeRel K] [UniformSpace K] [IsUniformAddGroup K]
    [IsNonarchimedeanLocalField K] (n : Nat) (hn : 1 ≀ n)
    (z : βˆ€ d : Nat, principalUnits K (n + d)) :
    βˆƒ x : principalUnits K n, Tendsto
      (fun d : Nat => ((principalUnitsCorrectionProduct K n z d : π’ͺ[K]Λ£) : π’ͺ[K]))
      atTop (nhds (((x : principalUnits K n) : π’ͺ[K]Λ£) : π’ͺ[K])) := by
  rcases exists_tendsto_principalUnitsCorrectionProduct_sub_one_mem K n z with
    ⟨x, hx, hmem⟩
  let u : principalUnits K n :=
    principalUnitOneAddOfMemPowSubgroup K hn (x - 1) hmem
  refine ⟨u, ?_⟩
  have huval : (((u : principalUnits K n) : π’ͺ[K]Λ£) : π’ͺ[K]) = x := by
    change ((principalUnitOneAddOfMemPow K hn (x - 1) hmem : π’ͺ[K]Λ£) : π’ͺ[K]) = x
    rw [principalUnitOneAddOfMemPow_val]
    ring
  simpa [huval] using hx
LocalFieldTheory.principalUnitsSuccQuotOfIdealPow

The concrete map 𝓂^n β†’ U^n/U^(n+1) sending a to the class of 1 + a.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def principalUnitsSuccQuotOfIdealPow
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n) :
    (𝓂[K] ^ n : Ideal π’ͺ[K]) β†’ PrincipalUnitsSuccQuot K n
LocalFieldTheory.principalUnitsSuccQuotOfIdealPow_apply

The map from 𝓂^n sends a to the successive principal-unit class represented by 1 + a.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfIdealPow_apply
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (a : (𝓂[K] ^ n : Ideal π’ͺ[K])) :
    principalUnitsSuccQuotOfIdealPow K n hn a =
      principalUnitsSuccQuotMk K n
        (principalUnitOneAddOfMemPowSubgroup K hn a.1 a.2)
LocalFieldTheory.principalUnitsSuccQuotMk_eq_oneAdd_of_sub_one_sub_mem_succ

If a principal unit has the same first-order term as 1 + a modulo 𝓂^(n+1), then it has the same class in U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotMk_eq_oneAdd_of_sub_one_sub_mem_succ
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (u : principalUnits K n) (a : (𝓂[K] ^ n : Ideal π’ͺ[K]))
    (h : (((u : π’ͺ[K]Λ£) : π’ͺ[K]) - 1 - (a : π’ͺ[K])) ∈
      (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K])) :
    principalUnitsSuccQuotMk K n u =
      principalUnitsSuccQuotOfIdealPow K n hn a
LocalFieldTheory.principalUnitsSuccQuotOfIdealPow_eq_one_of_mem_succ

Elements of 𝓂^(n+1) map to the trivial class in U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfIdealPow_eq_one_of_mem_succ
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (a : (𝓂[K] ^ n : Ideal π’ͺ[K]))
    (ha : (a : π’ͺ[K]) ∈ (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K])) :
    principalUnitsSuccQuotOfIdealPow K n hn a = 1
LocalFieldTheory.principalUnitsSuccQuotOfIdealPow_eq_one_of_idealQuot_mk_eq_zero

A representative of the zero class in 𝓂^n/𝓂^(n+1) maps to the identity class in U^n/U^(n+1). A representative of the zero class in 𝓂^n/𝓂^(n+1) maps to the identity class in U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfIdealPow_eq_one_of_idealQuot_mk_eq_zero
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (a : (𝓂[K] ^ n : Ideal π’ͺ[K]))
    (ha : maximalIdealPowSuccQuotMk K n a = 0) :
    principalUnitsSuccQuotOfIdealPow K n hn a = 1
LocalFieldTheory.principalUnitsSuccQuotOfIdealPow_eq_of_sub_mem_succ

The map a ↦ 1 + a is insensitive to changing a modulo 𝓂^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfIdealPow_eq_of_sub_mem_succ
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (a b : (𝓂[K] ^ n : Ideal π’ͺ[K]))
    (hab : ((a : π’ͺ[K]) - (b : π’ͺ[K])) ∈ (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K])) :
    principalUnitsSuccQuotOfIdealPow K n hn a =
      principalUnitsSuccQuotOfIdealPow K n hn b
LocalFieldTheory.principalUnitsSuccQuotOfIdealPow_eq_of_idealQuot_mk_eq

Representatives of the same class in 𝓂^n/𝓂^(n+1) yield the same class of 1 + a in U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfIdealPow_eq_of_idealQuot_mk_eq
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (a b : (𝓂[K] ^ n : Ideal π’ͺ[K]))
    (hab : maximalIdealPowSuccQuotMk K n a = maximalIdealPowSuccQuotMk K n b) :
    principalUnitsSuccQuotOfIdealPow K n hn a =
      principalUnitsSuccQuotOfIdealPow K n hn b
LocalFieldTheory.principalUnitsSuccQuotOfMaximalIdealPowSuccQuot

The descent of a ↦ [1 + a] to 𝓂^n/𝓂^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def principalUnitsSuccQuotOfMaximalIdealPowSuccQuot
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n) :
    MaximalIdealPowSuccQuot K n β†’ PrincipalUnitsSuccQuot K n
LocalFieldTheory.principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_mk

The descended map on 𝓂^n/𝓂^(n+1) sends a representative class to the class represented by 1 + a.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_mk
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (a : (𝓂[K] ^ n : Ideal π’ͺ[K])) :
    principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn
        (maximalIdealPowSuccQuotMk K n a) =
      principalUnitsSuccQuotOfIdealPow K n hn a
LocalFieldTheory.maximalIdealPow_mul_mem_succ

Products of two elements of 𝓂^n, for n β‰₯ 1, lie in 𝓂^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdealPow_mul_mem_succ
    (K : Type u) [Field K] [ValuativeRel K] {n : Nat} (hn : 1 ≀ n)
    (a b : (𝓂[K] ^ n : Ideal π’ͺ[K])) :
    ((a : π’ͺ[K]) * (b : π’ͺ[K])) ∈ (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K])
LocalFieldTheory.finset_prod_one_add_sub_one_mem_maximalIdeal_of_mem_pow

If every aα΅’ lies in 𝓂^n with n β‰₯ 1, then ∏ᡒ (1 + aα΅’) - 1 lies in the maximal ideal.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem finset_prod_one_add_sub_one_mem_maximalIdeal_of_mem_pow
    (K : Type u) [Field K] [ValuativeRel K] {ΞΉ : Type*}
    (s : Finset ΞΉ) (n : Nat) (hn : 1 ≀ n) (a : ΞΉ β†’ π’ͺ[K])
    (ha : βˆ€ i ∈ s, a i ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])) :
    (s.prod fun i => 1 + a i) - 1 ∈ (𝓂[K] : Ideal π’ͺ[K]) := by
  classical
  revert a
  refine Finset.induction_on s ?base ?step
  Β· intro a ha
    simp
  Β· intro i s hi ih a ha
    have hai_pow : a i ∈ (𝓂[K] ^ n : Ideal π’ͺ[K]) := ha i (by simp [hi])
    have hai : a i ∈ (𝓂[K] : Ideal π’ͺ[K]) := by
      have hle : (𝓂[K] ^ n : Ideal π’ͺ[K]) ≀ (𝓂[K] ^ 1 : Ideal π’ͺ[K]) :=
        Ideal.pow_le_pow_right hn
      simpa using hle hai_pow
    have hs : βˆ€ j ∈ s, a j ∈ (𝓂[K] ^ n : Ideal π’ͺ[K]) := by
      intro j hj
      exact ha j (by simp [hj])
    have hprod : (s.prod fun j => 1 + a j) - 1 ∈ (𝓂[K] : Ideal π’ͺ[K]) :=
      ih a hs
    have hterm : a i * (s.prod fun j => 1 + a j) ∈ (𝓂[K] : Ideal π’ͺ[K]) :=
      (𝓂[K] : Ideal π’ͺ[K]).mul_mem_right _ hai
    rw [Finset.prod_insert hi]
    rw [show (1 + a i) * (s.prod fun j => 1 + a j) - 1 =
        ((s.prod fun j => 1 + a j) - 1) +
          a i * (s.prod fun j => 1 + a j) by
      ring]
    exact (𝓂[K] : Ideal π’ͺ[K]).add_mem hprod hterm
LocalFieldTheory.finset_prod_one_add_sub_one_sub_sum_mem_maximalIdeal_pow_succ

First-order expansion of products in the principal-unit filtration: if every aα΅’ ∈ 𝓂^n and n β‰₯ 1, then ∏ᡒ (1 + aα΅’) ≑ 1 + Ξ£α΅’ aα΅’ mod 𝓂^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem finset_prod_one_add_sub_one_sub_sum_mem_maximalIdeal_pow_succ
    (K : Type u) [Field K] [ValuativeRel K] {ΞΉ : Type*}
    (s : Finset ΞΉ) (n : Nat) (hn : 1 ≀ n) (a : ΞΉ β†’ π’ͺ[K])
    (ha : βˆ€ i ∈ s, a i ∈ (𝓂[K] ^ n : Ideal π’ͺ[K])) :
    (s.prod fun i => 1 + a i) - 1 - (s.sum fun i => a i) ∈
      (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K]) := by
  classical
  revert a
  refine Finset.induction_on s ?base ?step
  Β· intro a ha
    simp
  Β· intro i s hi ih a ha
    have hai : a i ∈ (𝓂[K] ^ n : Ideal π’ͺ[K]) := ha i (by simp [hi])
    have hs : βˆ€ j ∈ s, a j ∈ (𝓂[K] ^ n : Ideal π’ͺ[K]) := by
      intro j hj
      exact ha j (by simp [hj])
    have hind :
        (s.prod fun j => 1 + a j) - 1 - (s.sum fun j => a j) ∈
          (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K]) :=
      ih a hs
    have hprod :
        (s.prod fun j => 1 + a j) - 1 ∈ (𝓂[K] : Ideal π’ͺ[K]) :=
      finset_prod_one_add_sub_one_mem_maximalIdeal_of_mem_pow K s n hn a hs
    have hmul_raw :
        a i * ((s.prod fun j => 1 + a j) - 1) ∈
          (𝓂[K] ^ n : Ideal π’ͺ[K]) * (𝓂[K] : Ideal π’ͺ[K]) :=
      Ideal.mul_mem_mul hai hprod
    have hmul :
        a i * ((s.prod fun j => 1 + a j) - 1) ∈
          (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K]) := by
      simpa [pow_add] using hmul_raw
    rw [Finset.prod_insert hi, Finset.sum_insert hi]
    rw [show (1 + a i) * (s.prod fun j => 1 + a j) - 1 -
          (a i + (s.sum fun j => a j)) =
        ((s.prod fun j => 1 + a j) - 1 - (s.sum fun j => a j)) +
          a i * ((s.prod fun j => 1 + a j) - 1) by
      ring]
    exact (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K]).add_mem hind hmul
LocalFieldTheory.principalUnitsSuccQuotOfIdealPow_zero

The zero element of 𝓂^n maps to the identity class in U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfIdealPow_zero
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n) :
    principalUnitsSuccQuotOfIdealPow K n hn (0 : (𝓂[K] ^ n : Ideal π’ͺ[K])) = 1
LocalFieldTheory.principalUnitsSuccQuotOfIdealPow_add

Modulo U^(n+1), the class represented by 1 + (a+b) is the product of the classes represented by 1+a and 1+b.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfIdealPow_add
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (a b : (𝓂[K] ^ n : Ideal π’ͺ[K])) :
    principalUnitsSuccQuotOfIdealPow K n hn (a + b) =
      principalUnitsSuccQuotOfIdealPow K n hn a *
        principalUnitsSuccQuotOfIdealPow K n hn b
LocalFieldTheory.principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_map_zero

The descended map from 𝓂^n/𝓂^(n+1) sends zero to the identity principal-unit class.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_map_zero
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n) :
    principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn 0 = 1
LocalFieldTheory.principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_map_add

The descended map sends addition in 𝓂^n/𝓂^(n+1) to multiplication in U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_map_add
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (x y : MaximalIdealPowSuccQuot K n) :
    principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn (x + y) =
      principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn x *
        principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn y
LocalFieldTheory.principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd

Additive form of the descended map 𝓂^n/𝓂^(n+1) β†’ U^n/U^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n) :
    MaximalIdealPowSuccQuot K n β†’+ Additive (PrincipalUnitsSuccQuot K n) where
  toFun x := Additive.ofMul (principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn x)
  map_zero' := by
    change Additive.ofMul (principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn 0) = 0
    simp [principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_map_zero]
  map_add' x y := by
    change Additive.ofMul (principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn (x + y)) =
      Additive.ofMul (principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn x *
        principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn y)
    rw [principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_map_add]
LocalFieldTheory.principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd_apply

The additive recoding of the descended map has the same underlying successive principal-unit class.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd_apply
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (x : MaximalIdealPowSuccQuot K n) :
    principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd K n hn x =
      Additive.ofMul (principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn x)
LocalFieldTheory.principalUnitsSuccQuotOfIdealPow_eq_one_iff

The class represented by 1 + a is trivial exactly when a lies in 𝓂^(n+1).

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfIdealPow_eq_one_iff
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (a : (𝓂[K] ^ n : Ideal π’ͺ[K])) :
    principalUnitsSuccQuotOfIdealPow K n hn a = 1 ↔
      (a : π’ͺ[K]) ∈ (𝓂[K] ^ (n + 1) : Ideal π’ͺ[K])
LocalFieldTheory.principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_eq_one_iff

The descended image of an ideal-power quotient class is trivial exactly when that class is zero. The descended image of an ideal-power quotient class is trivial exactly when that class is zero.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_eq_one_iff
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (x : MaximalIdealPowSuccQuot K n) :
    principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn x = 1 ↔ x = 0
LocalFieldTheory.principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_surjective

Every successive principal-unit class is represented by 1 + a for some a ∈ 𝓂^n.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfMaximalIdealPowSuccQuot_surjective
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n) :
    Function.Surjective (principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn)
LocalFieldTheory.principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd_surjective

The additive map induced by a ↦ 1 + a onto the successive principal-unit quotient is surjective.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd_surjective
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n) :
    Function.Surjective (principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd K n hn)
LocalFieldTheory.principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd_injective

The additive map induced by a ↦ 1 + a on successive quotients is injective.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd_injective
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n) :
    Function.Injective (principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd K n hn)
LocalFieldTheory.maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot

The additive isomorphism 𝓂^n/𝓂^(n+1) ≃ U^n/U^(n+1) induced by a ↦ 1+a.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n) :
    MaximalIdealPowSuccQuot K n ≃+ Additive (PrincipalUnitsSuccQuot K n)
LocalFieldTheory.maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot_apply

The additive equivalence between successive ideal and principal-unit quotients agrees with the descended a ↦ 1+a map.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot_apply
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (x : MaximalIdealPowSuccQuot K n) :
    maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn x =
      principalUnitsSuccQuotOfMaximalIdealPowSuccQuotAdd K n hn x
LocalFieldTheory.maximalIdealPowSuccQuotMulEquivPrincipalUnitsSuccQuot

Multiplicative form of 𝓂^n/𝓂^(n+1) ≃+ Additive (U^n/U^(n+1)), suitable for the multiplicative Herbrand quotient API.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
def maximalIdealPowSuccQuotMulEquivPrincipalUnitsSuccQuot
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n) :
    Multiplicative (MaximalIdealPowSuccQuot K n) ≃*
      PrincipalUnitsSuccQuot K n where
  toFun x :=
    Additive.toMul
      (maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn
        (Multiplicative.toAdd x))
  invFun x :=
    Multiplicative.ofAdd
      ((maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn).symm
        (Additive.ofMul x))
  left_inv := by
    intro x
    change Multiplicative.ofAdd
        ((maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn).symm
          (maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn
            (Multiplicative.toAdd x))) =
      Multiplicative.ofAdd (Multiplicative.toAdd x)
    exact congrArg Multiplicative.ofAdd
      ((maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn).left_inv
        (Multiplicative.toAdd x))
  right_inv := by
    intro x
    change Additive.toMul
        (maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn
          ((maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn).symm
            (Additive.ofMul x))) =
      Additive.toMul (Additive.ofMul x)
    exact congrArg Additive.toMul
      ((maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn).right_inv
        (Additive.ofMul x))
  map_mul' := by
    intro x y
    rw [show Multiplicative.toAdd (x * y) =
        Multiplicative.toAdd x + Multiplicative.toAdd y from rfl]
    change Additive.toMul
        (maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn
          (Multiplicative.toAdd x + Multiplicative.toAdd y)) =
      Additive.toMul
        (maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn
          (Multiplicative.toAdd x) +
        maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn
          (Multiplicative.toAdd y))
    exact congrArg Additive.toMul
      ((maximalIdealPowSuccQuotAddEquivPrincipalUnitsSuccQuot K n hn).map_add
        (Multiplicative.toAdd x) (Multiplicative.toAdd y))
LocalFieldTheory.maximalIdealPowSuccQuotMulEquivPrincipalUnitsSuccQuot_apply

The multiplicative recoding of the successive-quotient equivalence sends a to the principal-unit class represented by 1+a.

Source context 5 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
open Filter
theorem maximalIdealPowSuccQuotMulEquivPrincipalUnitsSuccQuot_apply
    (K : Type u) [Field K] [ValuativeRel K] (n : Nat) (hn : 1 ≀ n)
    (x : MaximalIdealPowSuccQuot K n) :
    maximalIdealPowSuccQuotMulEquivPrincipalUnitsSuccQuot K n hn
        (Multiplicative.ofAdd x) =
      principalUnitsSuccQuotOfMaximalIdealPowSuccQuot K n hn x