Module

Basic.lean

Nyll.ValuedFieldTheory.LocalField.DiscreteValuationField.Norm.Basic
119 declarations indexed from sourceView source ↗

Integer-valued norm data

This file contains the norm-subgroup lemmas used in local CFT from an abstract integer-valued multiplicative valuation and a norm homomorphism satisfying the standard valuation formula.

Declarations

LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation

A multiplicative group valuation with values in additive integers.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
structure MultiplicativeIntegerValuation (G : Type u) [Group G] where
  /-- The integer valuation of a group element. -/
  val : G → ℤ
  /-- The identity has valuation zero. -/
  map_one : val 1 = 0
  /-- Valuation turns multiplication into integer addition. -/
  map_mul : ∀ x y : G, val (x * y) = val x + val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_one

Establishes the identity V.val (1 : G) = 0.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_one : V.val (1 : G) = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_mul

val satisfies the multiplication formula V.val (x * y) = V.val x + V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_mul (x y : G) :
    V.val (x * y) = V.val x + V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.valuationHom

The integer-valued valuation as a multiplicative homomorphism to the additive group of integers written multiplicatively.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
def valuationHom : G →* Multiplicative ℤ where
  toFun x := Multiplicative.ofAdd (V.val x)
  map_one' := by
    simp [V.val_one]
  map_mul' x y := by
    rw [V.val_mul, ofAdd_add]
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.valuationHom_apply

The defining evaluation formula for valuationHom is V.valuationHom x = Multiplicative.ofAdd (V.val x).

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem valuationHom_apply (x : G) :
    V.valuationHom x = Multiplicative.ofAdd (V.val x)
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.mem_valuationHom_ker_iff

Characterizes x ∈ V.valuationHom.ker by the equivalent condition V.val x = 0.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem mem_valuationHom_ker_iff (x : G) :
    x ∈ V.valuationHom.ker ↔ V.val x = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_inv

val satisfies the inverse formula V.val x⁻¹ = -V.val x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_inv (x : G) :
    V.val x⁻¹ = -V.val x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_div

val satisfies the division formula V.val (x / y) = V.val x - V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_div (x y : G) :
    V.val (x / y) = V.val x - V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_pow

val satisfies the natural-power formula V.val (x ^ n) = (n : ℤ) * V.val x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_pow (x : G) (n : ℕ) :
    V.val (x ^ n) = (n : ℤ) * V.val x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_zpow

val satisfies the integer-power formula V.val (x ^ n) = n * V.val x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_zpow (x : G) (n : ℤ) :
    V.val (x ^ n) = n * V.val x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_inv_eq_zero_of_val_eq_zero

Establishes the identity V.val x⁻¹ = 0.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_inv_eq_zero_of_val_eq_zero {x : G} (hx : V.val x = 0) :
    V.val x⁻¹ = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_div_eq_zero_iff

Characterizes V.val (x / y) = 0 by the equivalent condition V.val x = V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_div_eq_zero_iff (x y : G) :
    V.val (x / y) = 0 ↔ V.val x = V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_pow_eq_zero_iff_of_ne_zero

Characterizes V.val (x ^ n) = 0 by the equivalent condition V.val x = 0.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_pow_eq_zero_iff_of_ne_zero (x : G) {n : ℕ} (hn : n ≠ 0) :
    V.val (x ^ n) = 0 ↔ V.val x = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_zero_of_pow_eq_one

Establishes the identity V.val x = 0.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_zero_of_pow_eq_one (x : G) {n : ℕ}
    (hn : n ≠ 0) (hpow : x ^ n = 1) :
    V.val x = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_zpow_eq_zero_iff_of_ne_zero

Characterizes V.val (x ^ n) = 0 by the equivalent condition V.val x = 0.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_zpow_eq_zero_iff_of_ne_zero (x : G) {n : ℤ} (hn : n ≠ 0) :
    V.val (x ^ n) = 0 ↔ V.val x = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_zero_of_zpow_eq_one

Establishes the identity V.val x = 0.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_zero_of_zpow_eq_one (x : G) {n : ℤ}
    (hn : n ≠ 0) (hpow : x ^ n = 1) :
    V.val x = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup

Elements of valuation zero.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
def zeroSubgroup : Subgroup G where
  carrier := {x | V.val x = 0}
  one_mem' := by simp [V.map_one]
  mul_mem' := by
    intro x y hx hy
    change V.val (x * y) = 0
    rw [V.map_mul, hx, hy, add_zero]
  inv_mem' := by
    intro x hx
    exact V.val_inv_eq_zero_of_val_eq_zero hx
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.mem_zeroSubgroup_iff

Characterizes x ∈ V.zeroSubgroup by the equivalent condition V.val x = 0.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem mem_zeroSubgroup_iff (x : G) :
    x ∈ V.zeroSubgroup ↔ V.val x = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.valuationHom_ker_eq_zeroSubgroup

Establishes the identity V.valuationHom.ker = V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem valuationHom_ker_eq_zeroSubgroup :
    V.valuationHom.ker = V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_normal

The subgroup appearing in (V.zeroSubgroup).Normal is normal.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
instance zeroSubgroup_normal : (V.zeroSubgroup).Normal
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.valueSubgroup

The value subgroup of an integer-valued valuation. It is the range of the valuation homomorphism valuationHom.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
def valueSubgroup : Subgroup (Multiplicative ℤ)
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.mem_valueSubgroup_iff

Characterizes n ∈ V.valueSubgroup by the equivalent condition ∃ x : G, V.valuationHom x = n.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem mem_valueSubgroup_iff (n : Multiplicative ℤ) :
    n ∈ V.valueSubgroup ↔ ∃ x : G, V.valuationHom x = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.ofAdd_mem_valueSubgroup_iff

Characterizes Multiplicative.ofAdd n ∈ V.valueSubgroup by the equivalent condition ∃ x : G, V.val x = n.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem ofAdd_mem_valueSubgroup_iff (n : ℤ) :
    Multiplicative.ofAdd n ∈ V.valueSubgroup ↔ ∃ x : G, V.val x = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.ofAdd_mem_valueSubgroup_of_exists_val

Establishes the membership statement Multiplicative.ofAdd n ∈ V.valueSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem ofAdd_mem_valueSubgroup_of_exists_val {n : ℤ}
    (hn : ∃ x : G, V.val x = n) :
    Multiplicative.ofAdd n ∈ V.valueSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.exists_val_of_ofAdd_mem_valueSubgroup

Establishes the identity ∃ x : G, V.val x = n.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem exists_val_of_ofAdd_mem_valueSubgroup {n : ℤ}
    (hn : Multiplicative.ofAdd n ∈ V.valueSubgroup) :
    ∃ x : G, V.val x = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.valuationHom_surjective_iff

Characterizes Function.Surjective V.valuationHom by the equivalent condition Function.Surjective V.val.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem valuationHom_surjective_iff :
    Function.Surjective V.valuationHom ↔ Function.Surjective V.val
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.valueSubgroup_eq_top_of_surjective

Establishes the identity V.valueSubgroup = ⊤.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem valueSubgroup_eq_top_of_surjective (hV : Function.Surjective V.val) :
    V.valueSubgroup = ⊤
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroupEquivValueSubgroup

First-isomorphism-theorem form for an integer-valued valuation: the quotient by valuation-zero elements is the value subgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
def quotientZeroSubgroupEquivValueSubgroup :
    G ⧸ V.zeroSubgroup ≃* V.valueSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroupEquivValueSubgroup_mk

Establishes the identity V.quotientZeroSubgroupEquivValueSubgroup (QuotientGroup.mk' V.zeroSubgroup x) = V.valuationHom.rangeRestrict x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem quotientZeroSubgroupEquivValueSubgroup_mk (x : G) :
    V.quotientZeroSubgroupEquivValueSubgroup
        (QuotientGroup.mk' V.zeroSubgroup x) =
      V.valuationHom.rangeRestrict x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.coe_quotientZeroSubgroupEquivValueSubgroup_mk

Establishes the identity ((V.quotientZeroSubgroupEquivValueSubgroup (QuotientGroup.mk' V.zeroSubgroup x) : V.valueSubgroup) : Multiplicative ℤ) = Multiplicative.ofAdd (V.val x).

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem coe_quotientZeroSubgroupEquivValueSubgroup_mk (x : G) :
    ((V.quotientZeroSubgroupEquivValueSubgroup
        (QuotientGroup.mk' V.zeroSubgroup x) : V.valueSubgroup) :
      Multiplicative ℤ) =
      Multiplicative.ofAdd (V.val x)
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.toAdd_quotientZeroSubgroupEquivValueSubgroup_mk

Establishes the identity Multiplicative.toAdd (((V.quotientZeroSubgroupEquivValueSubgroup (QuotientGroup.mk' V.zeroSubgroup x) : V.valueSubgroup) : Multiplicative ℤ)) = V.val x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem toAdd_quotientZeroSubgroupEquivValueSubgroup_mk (x : G) :
    Multiplicative.toAdd
      (((V.quotientZeroSubgroupEquivValueSubgroup
          (QuotientGroup.mk' V.zeroSubgroup x) : V.valueSubgroup) :
        Multiplicative ℤ)) = V.val x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.toAdd_quotientZeroSubgroupEquivValueSubgroup_div_mk

Establishes the identity Multiplicative.toAdd (((V.quotientZeroSubgroupEquivValueSubgroup (QuotientGroup.mk' V.zeroSubgroup (x / y)) : V.valueSubgroup) : Multiplicative ℤ)) = V.val x - V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem toAdd_quotientZeroSubgroupEquivValueSubgroup_div_mk
    (x y : G) :
    Multiplicative.toAdd
      (((V.quotientZeroSubgroupEquivValueSubgroup
          (QuotientGroup.mk' V.zeroSubgroup (x / y)) : V.valueSubgroup) :
        Multiplicative ℤ)) = V.val x - V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroup_value_mem_integerMultipleSubgroup_iff

Characterizes ((V.quotientZeroSubgroupEquivValueSubgroup (QuotientGroup.mk' V.zeroSubgroup x) : V.valueSubgroup) : Multiplicative ℤ) ∈ integerMultipleSubgroup d by the equivalent condition d ∣ V.val x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem quotientZeroSubgroup_value_mem_integerMultipleSubgroup_iff
    (d : ℤ) (x : G) :
    ((V.quotientZeroSubgroupEquivValueSubgroup
        (QuotientGroup.mk' V.zeroSubgroup x) : V.valueSubgroup) :
      Multiplicative ℤ) ∈ integerMultipleSubgroup d ↔ d ∣ V.val x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroup_value_div_mem_integerMultipleSubgroup_iff

Characterizes ((V.quotientZeroSubgroupEquivValueSubgroup (QuotientGroup.mk' V.zeroSubgroup (x / y)) : V.valueSubgroup) : Multiplicative ℤ) ∈ integerMultipleSubgroup d by the equivalent condition d ∣ V.val x - V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem quotientZeroSubgroup_value_div_mem_integerMultipleSubgroup_iff
    (d : ℤ) (x y : G) :
    ((V.quotientZeroSubgroupEquivValueSubgroup
        (QuotientGroup.mk' V.zeroSubgroup (x / y)) : V.valueSubgroup) :
      Multiplicative ℤ) ∈ integerMultipleSubgroup d ↔
      d ∣ V.val x - V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroup_value_mem_integerMultipleSubgroup_of_dvd_val

Establishes the membership statement ((V.quotientZeroSubgroupEquivValueSubgroup (QuotientGroup.mk' V.zeroSubgroup x) : V.valueSubgroup) : Multiplicative ℤ) ∈ integerMultipleSubgroup d.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem quotientZeroSubgroup_value_mem_integerMultipleSubgroup_of_dvd_val
    {d : ℤ} {x : G} (hx : d ∣ V.val x) :
    ((V.quotientZeroSubgroupEquivValueSubgroup
        (QuotientGroup.mk' V.zeroSubgroup x) : V.valueSubgroup) :
      Multiplicative ℤ) ∈ integerMultipleSubgroup d
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.dvd_val_of_quotientZeroSubgroup_value_mem_integerMultipleSubgroup

Establishes the divisibility statement d ∣ V.val x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem dvd_val_of_quotientZeroSubgroup_value_mem_integerMultipleSubgroup
    {d : ℤ} {x : G}
    (hx :
      ((V.quotientZeroSubgroupEquivValueSubgroup
          (QuotientGroup.mk' V.zeroSubgroup x) : V.valueSubgroup) :
        Multiplicative ℤ) ∈ integerMultipleSubgroup d) :
    d ∣ V.val x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroup_value_div_mem_integerMultipleSubgroup_of_dvd

Establishes the membership statement ((V.quotientZeroSubgroupEquivValueSubgroup (QuotientGroup.mk' V.zeroSubgroup (x / y)) : V.valueSubgroup) : Multiplicative ℤ) ∈ integerMultipleSubgroup d.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem quotientZeroSubgroup_value_div_mem_integerMultipleSubgroup_of_dvd
    {d : ℤ} {x y : G} (hxy : d ∣ V.val x - V.val y) :
    ((V.quotientZeroSubgroupEquivValueSubgroup
        (QuotientGroup.mk' V.zeroSubgroup (x / y)) : V.valueSubgroup) :
      Multiplicative ℤ) ∈ integerMultipleSubgroup d
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.dvd_of_quotientZeroSubgroup_value_div_mem_integerMultipleSubgroup

Establishes the divisibility statement d ∣ V.val x - V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem dvd_of_quotientZeroSubgroup_value_div_mem_integerMultipleSubgroup
    {d : ℤ} {x y : G}
    (hxy :
      ((V.quotientZeroSubgroupEquivValueSubgroup
          (QuotientGroup.mk' V.zeroSubgroup (x / y)) : V.valueSubgroup) :
        Multiplicative ℤ) ∈ integerMultipleSubgroup d) :
    d ∣ V.val x - V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroupEquivMultiplicativeInt

If the valuation is surjective, the quotient by valuation-zero elements is the full multiplicative copy of ℤ.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
def quotientZeroSubgroupEquivMultiplicativeInt
    (hV : Function.Surjective V.val) :
    G ⧸ V.zeroSubgroup ≃* Multiplicative ℤ
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.IsUniformizer

A multiplicative element of valuation one.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
def IsUniformizer (ϖ : G) : Prop
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.HasUniformizer

Existence of a multiplicative element of valuation one.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
def HasUniformizer : Prop
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.hasUniformizer_of_surjective

A surjective integer valuation has an element of valuation one.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem hasUniformizer_of_surjective (hV : Function.Surjective V.val) :
    V.HasUniformizer
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.exists_uniformizer_of_surjective

Surjectivity of the integer valuation yields a uniformizer.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem exists_uniformizer_of_surjective (hV : Function.Surjective V.val) :
    ∃ ϖ : G, V.IsUniformizer ϖ
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_uniformizer_zpow

val_uniformizer satisfies the integer-power formula V.val (ϖ ^ n) = n.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_uniformizer_zpow {ϖ : G} (hϖ : V.IsUniformizer ϖ)
    (n : ℤ) :
    V.val (ϖ ^ n) = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_uniformizer_pow

val_uniformizer satisfies the natural-power formula V.val (ϖ ^ n) = (n : ℤ).

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_uniformizer_pow {ϖ : G} (hϖ : V.IsUniformizer ϖ)
    (n : ℕ) :
    V.val (ϖ ^ n) = (n : ℤ)
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.uniformizer_zpow_mem_zeroSubgroup_iff

Characterizes ϖ ^ n ∈ V.zeroSubgroup by the equivalent condition n = 0.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem uniformizer_zpow_mem_zeroSubgroup_iff {ϖ : G}
    (hϖ : V.IsUniformizer ϖ) (n : ℤ) :
    ϖ ^ n ∈ V.zeroSubgroup ↔ n = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.uniformizer_pow_mem_zeroSubgroup_iff

Characterizes ϖ ^ n ∈ V.zeroSubgroup by the equivalent condition n = 0.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem uniformizer_pow_mem_zeroSubgroup_iff {ϖ : G}
    (hϖ : V.IsUniformizer ϖ) (n : ℕ) :
    ϖ ^ n ∈ V.zeroSubgroup ↔ n = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_surjective_of_uniformizer

The specified map is surjective: Function.Surjective V.val.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_surjective_of_uniformizer {ϖ : G} (hϖ : V.IsUniformizer ϖ) :
    Function.Surjective V.val
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.hasUniformizer_iff_val_surjective

Characterizes V.HasUniformizer by the equivalent condition Function.Surjective V.val.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem hasUniformizer_iff_val_surjective :
    V.HasUniformizer ↔ Function.Surjective V.val
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.valueSubgroup_eq_top_of_uniformizer

Establishes the identity V.valueSubgroup = ⊤.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem valueSubgroup_eq_top_of_uniformizer {ϖ : G}
    (hϖ : V.IsUniformizer ϖ) :
    V.valueSubgroup = ⊤
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroupEquivMultiplicativeIntOfUniformizer

Uniformizer form of the quotient equivalence G / G⁰ ≃ Multiplicative ℤ. The uniformizer proves that the value group is all of ℤ.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
def quotientZeroSubgroupEquivMultiplicativeIntOfUniformizer
    {ϖ : G} (hϖ : V.IsUniformizer ϖ) :
    G ⧸ V.zeroSubgroup ≃* Multiplicative ℤ
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.coe_quotientZeroSubgroupEquivValueSubgroup_uniformizer_zpow

coe_quotientZeroSubgroupEquivValueSubgroup_uniformizer satisfies the integer-power formula ((V.quotientZeroSubgroupEquivValueSubgroup (QuotientGroup.mk' V.zeroSubgroup (ϖ ^ n)) : V.valueSubgroup) : Multiplicative ℤ) = Multiplicative.ofAdd n.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem coe_quotientZeroSubgroupEquivValueSubgroup_uniformizer_zpow
    {ϖ : G} (hϖ : V.IsUniformizer ϖ) (n : ℤ) :
    ((V.quotientZeroSubgroupEquivValueSubgroup
        (QuotientGroup.mk' V.zeroSubgroup (ϖ ^ n)) : V.valueSubgroup) :
      Multiplicative ℤ) = Multiplicative.ofAdd n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.toAdd_quotientZeroSubgroupEquivValueSubgroup_uniformizer_zpow

toAdd_quotientZeroSubgroupEquivValueSubgroup_uniformizer satisfies the integer-power formula Multiplicative.toAdd (((V.quotientZeroSubgroupEquivValueSubgroup (QuotientGroup.mk' V.zeroSubgroup (ϖ ^ n)) : V.valueSubgroup) : Multiplicative ℤ)) = n.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem toAdd_quotientZeroSubgroupEquivValueSubgroup_uniformizer_zpow
    {ϖ : G} (hϖ : V.IsUniformizer ϖ) (n : ℤ) :
    Multiplicative.toAdd
      (((V.quotientZeroSubgroupEquivValueSubgroup
          (QuotientGroup.mk' V.zeroSubgroup (ϖ ^ n)) : V.valueSubgroup) :
        Multiplicative ℤ)) = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition

A representative-level decomposition x = u * ϖ^n, with u of valuation zero. This is the abstract multiplicative form of Kˣ = O_Kˣ · ϖ^ℤ.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
structure UnitUniformizerDecomposition (ϖ x : G) where
  /-- The valuation-zero factor. -/
  unitPart : G
  /-- The unit factor has valuation zero. -/
  unit_mem : unitPart ∈ V.zeroSubgroup
  /-- The exponent of the chosen uniformizer. -/
  exponent : ℤ
  /-- Reconstruction from the unit factor and uniformizer power. -/
  eq_unit_mul_zpow : x = unitPart * ϖ ^ exponent
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.HasUnitUniformizerDecomposition

Every element admits a unit-uniformizer decomposition with respect to ϖ.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
def HasUnitUniformizerDecomposition (ϖ : G) : Prop
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.canonicalUnitUniformizerDecomposition

The canonical unit-uniformizer decomposition attached to a uniformizer.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
def canonicalUnitUniformizerDecomposition {ϖ : G}
    (hϖ : V.IsUniformizer ϖ) (x : G) :
    V.UnitUniformizerDecomposition ϖ x where
  unitPart := x * ϖ ^ (-(V.val x))
  unit_mem := by
    rw [V.mem_zeroSubgroup_iff, V.val_mul, V.val_zpow, hϖ]
    ring
  exponent := V.val x
  eq_unit_mul_zpow := by
    calc
      x = x * 1 := by rw [mul_one]
      _ = x * (ϖ ^ (-(V.val x)) * ϖ ^ V.val x) := by
        rw [← zpow_add, neg_add_cancel, zpow_zero]
      _ = (x * ϖ ^ (-(V.val x))) * ϖ ^ V.val x := by
        rw [mul_assoc]
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.hasUnitUniformizerDecomposition_of_uniformizer

A chosen uniformizer gives a unit-times-uniformizer-power decomposition of every group element.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem hasUnitUniformizerDecomposition_of_uniformizer {ϖ : G}
    (hϖ : V.IsUniformizer ϖ) :
    V.HasUnitUniformizerDecomposition ϖ
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.unitUniformizerDecomposition

Every group element has a unit-times-uniformizer-power decomposition relative to a chosen uniformizer.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem unitUniformizerDecomposition {ϖ : G}
    (hϖ : V.IsUniformizer ϖ) (x : G) :
    Nonempty (V.UnitUniformizerDecomposition ϖ x)
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.exists_zeroSubgroup_mul_uniformizer_zpow

exists_zeroSubgroup_mul_uniformizer satisfies the integer-power formula ∃ u : G, u ∈ V.zeroSubgroup ∧ ∃ n : ℤ, x = u * ϖ ^ n.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem exists_zeroSubgroup_mul_uniformizer_zpow {ϖ : G}
    (hϖ : V.IsUniformizer ϖ) (x : G) :
    ∃ u : G, u ∈ V.zeroSubgroup ∧ ∃ n : ℤ, x = u * ϖ ^ n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.exists_zeroSubgroup_mul_uniformizer_zpow_eq

Establishes the identity ∃ u : G, u ∈ V.zeroSubgroup ∧ u * ϖ ^ V.val x = x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem exists_zeroSubgroup_mul_uniformizer_zpow_eq {ϖ : G}
    (hϖ : V.IsUniformizer ϖ) (x : G) :
    ∃ u : G, u ∈ V.zeroSubgroup ∧ u * ϖ ^ V.val x = x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_iff_exists_zeroSubgroup_mul_uniformizer_zpow

Characterizes V.val x = n by the equivalent condition ∃ u : G, u ∈ V.zeroSubgroup ∧ u * ϖ ^ n = x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_iff_exists_zeroSubgroup_mul_uniformizer_zpow {ϖ : G}
    (hϖ : V.IsUniformizer ϖ) (x : G) (n : ℤ) :
    V.val x = n ↔ ∃ u : G, u ∈ V.zeroSubgroup ∧ u * ϖ ^ n = x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_iff_exists_eq_zeroSubgroup_mul_uniformizer_zpow

Characterizes V.val x = n by the equivalent condition ∃ u : G, u ∈ V.zeroSubgroup ∧ x = u * ϖ ^ n.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_iff_exists_eq_zeroSubgroup_mul_uniformizer_zpow {ϖ : G}
    (hϖ : V.IsUniformizer ϖ) (x : G) (n : ℤ) :
    V.val x = n ↔ ∃ u : G, u ∈ V.zeroSubgroup ∧ x = u * ϖ ^ n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.unitPart_val_zero

Establishes the identity V.val d.unitPart = 0.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem unitPart_val_zero
    (d : V.UnitUniformizerDecomposition ϖ x) :
    V.val d.unitPart = 0
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.val_eq_exponent

The valuation of the represented element is the exponent when ϖ is a uniformizer.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem val_eq_exponent (hϖ : V.IsUniformizer ϖ)
    (d : V.UnitUniformizerDecomposition ϖ x) :
    V.val x = d.exponent
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.unitPart_eq_mul_inv_zpow

The unit part is recovered from the represented element and the recorded exponent.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem unitPart_eq_mul_inv_zpow
    (d : V.UnitUniformizerDecomposition ϖ x) :
    d.unitPart = x * (ϖ ^ d.exponent)⁻¹
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.unitPart_unique_of_exponent_eq

If two decompositions use the same exponent, then their unit parts agree.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem unitPart_unique_of_exponent_eq
    (d₁ d₂ : V.UnitUniformizerDecomposition ϖ x)
    (h : d₁.exponent = d₂.exponent) :
    d₁.unitPart = d₂.unitPart
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.exponent_unique

The exponent in a unit-uniformizer decomposition is unique.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem exponent_unique (hϖ : V.IsUniformizer ϖ)
    (d₁ d₂ : V.UnitUniformizerDecomposition ϖ x) :
    d₁.exponent = d₂.exponent
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.unitPart_unique

The unit part in a unit-uniformizer decomposition is unique once the uniformizer is fixed.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem unitPart_unique (hϖ : V.IsUniformizer ϖ)
    (d₁ d₂ : V.UnitUniformizerDecomposition ϖ x) :
    d₁.unitPart = d₂.unitPart
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.val_unit_mul_zpow

A valuation-zero multiple of a uniformizer power has valuation equal to the exponent.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem val_unit_mul_zpow (hϖ : V.IsUniformizer ϖ)
    {u : G} (hu : u ∈ V.zeroSubgroup) (n : ℤ) :
    V.val (u * ϖ ^ n) = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.val_uniformizer_zpow

A uniformizer power has valuation equal to its exponent.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem val_uniformizer_zpow (hϖ : V.IsUniformizer ϖ) (n : ℤ) :
    V.val (ϖ ^ n) = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.val_uniformizer_pow

A natural power of a uniformizer has valuation equal to the natural exponent.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem val_uniformizer_pow (hϖ : V.IsUniformizer ϖ) (n : ℕ) :
    V.val (ϖ ^ n) = (n : ℤ)
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.exponent_unique_of_unit_mul_eq

Equality of two unit-uniformizer normal forms forces equality of exponents.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem exponent_unique_of_unit_mul_eq (hϖ : V.IsUniformizer ϖ)
    {u w : G} (hu : u ∈ V.zeroSubgroup) (hw : w ∈ V.zeroSubgroup)
    {m n : ℤ} (h : u * ϖ ^ m = w * ϖ ^ n) :
    m = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.unit_mul_zpow_eq_iff

Equality of two unit-uniformizer normal forms is equivalent to equality of both the unit part and exponent.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem unit_mul_zpow_eq_iff (hϖ : V.IsUniformizer ϖ)
    {u w : G} (hu : u ∈ V.zeroSubgroup) (hw : w ∈ V.zeroSubgroup)
    {m n : ℤ} :
    u * ϖ ^ m = w * ϖ ^ n ↔ u = w ∧ m = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.UnitUniformizerDecomposition.unit_mul_zpow_eq_iff_exponent_eq_and_unit_eq

Equality of two unit-uniformizer normal forms is equivalent to equality of exponents together with equality of unit parts.

Source context 8 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
namespace UnitUniformizerDecomposition
variable {V : MultiplicativeIntegerValuation G} {ϖ x : G}
theorem unit_mul_zpow_eq_iff_exponent_eq_and_unit_eq
    (hϖ : V.IsUniformizer ϖ)
    {u w : G} (hu : u ∈ V.zeroSubgroup) (hw : w ∈ V.zeroSubgroup)
    {m n : ℤ} :
    u * ϖ ^ m = w * ϖ ^ n ↔ m = n ∧ u = w
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.uniformizer_exponent_unique

Establishes the identity d₁.exponent = d₂.exponent.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem uniformizer_exponent_unique {ϖ x : G}
    (hϖ : V.IsUniformizer ϖ)
    (d₁ d₂ : V.UnitUniformizerDecomposition ϖ x) :
    d₁.exponent = d₂.exponent
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.uniformizer_unitPart_unique

Establishes the identity d₁.unitPart = d₂.unitPart.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem uniformizer_unitPart_unique {ϖ x : G}
    (hϖ : V.IsUniformizer ϖ)
    (d₁ d₂ : V.UnitUniformizerDecomposition ϖ x) :
    d₁.unitPart = d₂.unitPart
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.valuation_uniformizer_normal_form

Establishes the identity V.val (u * ϖ ^ n) = n.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem valuation_uniformizer_normal_form {ϖ u : G}
    (hϖ : V.IsUniformizer ϖ) (hu : u ∈ V.zeroSubgroup) (n : ℤ) :
    V.val (u * ϖ ^ n) = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.unit_uniformizer_normal_form_eq_iff

Characterizes u * ϖ ^ m = w * ϖ ^ n by the equivalent condition u = w ∧ m = n.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem unit_uniformizer_normal_form_eq_iff {ϖ u w : G}
    (hϖ : V.IsUniformizer ϖ) (hu : u ∈ V.zeroSubgroup)
    (hw : w ∈ V.zeroSubgroup) {m n : ℤ} :
    u * ϖ ^ m = w * ϖ ^ n ↔ u = w ∧ m = n
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_mul_mem

Establishes the membership statement x * y ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_mul_mem {x y : G}
    (hx : x ∈ V.zeroSubgroup) (hy : y ∈ V.zeroSubgroup) :
    x * y ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_inv_mem

Establishes the membership statement x⁻¹ ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_inv_mem {x : G} (hx : x ∈ V.zeroSubgroup) :
    x⁻¹ ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_div_mem

Establishes the membership statement x / y ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_div_mem {x y : G}
    (hx : x ∈ V.zeroSubgroup) (hy : y ∈ V.zeroSubgroup) :
    x / y ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.div_mem_zeroSubgroup_iff

Characterizes x / y ∈ V.zeroSubgroup by the equivalent condition V.val x = V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem div_mem_zeroSubgroup_iff (x y : G) :
    x / y ∈ V.zeroSubgroup ↔ V.val x = V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_of_div_mem_zeroSubgroup

Establishes the identity V.val x = V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_of_div_mem_zeroSubgroup {x y : G}
    (hxy : x / y ∈ V.zeroSubgroup) :
    V.val x = V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.div_mem_zeroSubgroup_of_val_eq

Establishes the membership statement x / y ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem div_mem_zeroSubgroup_of_val_eq {x y : G} (hxy : V.val x = V.val y) :
    x / y ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.div_mem_zeroSubgroup_iff_inv_mul_mem_zeroSubgroup

In the valuation-zero subgroup, the right quotient x / y and the left quotient y⁻¹ * x give the same membership test.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem div_mem_zeroSubgroup_iff_inv_mul_mem_zeroSubgroup (x y : G) :
    x / y ∈ V.zeroSubgroup ↔ y⁻¹ * x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.inv_mul_mem_zeroSubgroup_iff_div_mem_zeroSubgroup

Left-quotient version of div_mem_zeroSubgroup_iff_inv_mul_mem_zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem inv_mul_mem_zeroSubgroup_iff_div_mem_zeroSubgroup (x y : G) :
    y⁻¹ * x ∈ V.zeroSubgroup ↔ x / y ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.inv_mul_mem_zeroSubgroup_iff

Left-quotient version of div_mem_zeroSubgroup_iff.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem inv_mul_mem_zeroSubgroup_iff (x y : G) :
    y⁻¹ * x ∈ V.zeroSubgroup ↔ V.val x = V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_of_inv_mul_mem_zeroSubgroup

Establishes the identity V.val x = V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_of_inv_mul_mem_zeroSubgroup {x y : G}
    (hxy : y⁻¹ * x ∈ V.zeroSubgroup) :
    V.val x = V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.inv_mul_mem_zeroSubgroup_of_val_eq

Establishes the membership statement y⁻¹ * x ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem inv_mul_mem_zeroSubgroup_of_val_eq {x y : G}
    (hxy : V.val x = V.val y) :
    y⁻¹ * x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroup_mk_eq_iff_div_mem

Equality in G ⧸ zeroSubgroup, in right-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem quotientZeroSubgroup_mk_eq_iff_div_mem (x y : G) :
    QuotientGroup.mk' V.zeroSubgroup x =
        QuotientGroup.mk' V.zeroSubgroup y ↔
      x / y ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroup_mk_eq_iff_inv_mul_mem

Equality in G ⧸ zeroSubgroup, in left-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem quotientZeroSubgroup_mk_eq_iff_inv_mul_mem (x y : G) :
    QuotientGroup.mk' V.zeroSubgroup x =
        QuotientGroup.mk' V.zeroSubgroup y ↔
      y⁻¹ * x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.quotientZeroSubgroup_mk_eq_iff_val_eq

Equality in G ⧸ zeroSubgroup is equality of valuations.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem quotientZeroSubgroup_mk_eq_iff_val_eq (x y : G) :
    QuotientGroup.mk' V.zeroSubgroup x =
        QuotientGroup.mk' V.zeroSubgroup y ↔
      V.val x = V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.div_mem_zeroSubgroup_iff_exists_zeroSubgroup_mul_eq

Two elements have quotient in the zero-valuation subgroup exactly when the left element is the right element multiplied on the left by a zero-valuation element. This is the right-coset representative form used in Kˣ / O_Kˣ calculations.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem div_mem_zeroSubgroup_iff_exists_zeroSubgroup_mul_eq (x y : G) :
    x / y ∈ V.zeroSubgroup ↔
      ∃ u : G, u ∈ V.zeroSubgroup ∧ u * y = x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.exists_zeroSubgroup_mul_eq_of_div_mem_zeroSubgroup

Establishes the identity ∃ u : G, u ∈ V.zeroSubgroup ∧ u * y = x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem exists_zeroSubgroup_mul_eq_of_div_mem_zeroSubgroup
    {x y : G} (hxy : x / y ∈ V.zeroSubgroup) :
    ∃ u : G, u ∈ V.zeroSubgroup ∧ u * y = x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.div_mem_zeroSubgroup_of_exists_zeroSubgroup_mul_eq

Establishes the membership statement x / y ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem div_mem_zeroSubgroup_of_exists_zeroSubgroup_mul_eq
    {x y : G} (hxy : ∃ u : G, u ∈ V.zeroSubgroup ∧ u * y = x) :
    x / y ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.inv_mul_mem_zeroSubgroup_iff_exists_mul_zeroSubgroup_eq

Two elements have left quotient in the zero-valuation subgroup exactly when the left element is the right element multiplied on the right by a zero-valuation element.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem inv_mul_mem_zeroSubgroup_iff_exists_mul_zeroSubgroup_eq (x y : G) :
    y⁻¹ * x ∈ V.zeroSubgroup ↔
      ∃ u : G, u ∈ V.zeroSubgroup ∧ y * u = x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.exists_mul_zeroSubgroup_eq_of_inv_mul_mem_zeroSubgroup

Establishes the identity ∃ u : G, u ∈ V.zeroSubgroup ∧ y * u = x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem exists_mul_zeroSubgroup_eq_of_inv_mul_mem_zeroSubgroup
    {x y : G} (hxy : y⁻¹ * x ∈ V.zeroSubgroup) :
    ∃ u : G, u ∈ V.zeroSubgroup ∧ y * u = x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.inv_mul_mem_zeroSubgroup_of_exists_mul_zeroSubgroup_eq

Establishes the membership statement y⁻¹ * x ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem inv_mul_mem_zeroSubgroup_of_exists_mul_zeroSubgroup_eq
    {x y : G} (hxy : ∃ u : G, u ∈ V.zeroSubgroup ∧ y * u = x) :
    y⁻¹ * x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_iff_exists_zeroSubgroup_mul_eq

Characterizes V.val x = V.val y by the equivalent condition ∃ u : G, u ∈ V.zeroSubgroup ∧ u * y = x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_iff_exists_zeroSubgroup_mul_eq (x y : G) :
    V.val x = V.val y ↔
      ∃ u : G, u ∈ V.zeroSubgroup ∧ u * y = x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_iff_exists_mul_zeroSubgroup_eq

Characterizes V.val x = V.val y by the equivalent condition ∃ u : G, u ∈ V.zeroSubgroup ∧ y * u = x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_iff_exists_mul_zeroSubgroup_eq (x y : G) :
    V.val x = V.val y ↔
      ∃ u : G, u ∈ V.zeroSubgroup ∧ y * u = x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.exists_zeroSubgroup_mul_eq_of_val_eq

Establishes the identity ∃ u : G, u ∈ V.zeroSubgroup ∧ u * y = x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem exists_zeroSubgroup_mul_eq_of_val_eq {x y : G}
    (hxy : V.val x = V.val y) :
    ∃ u : G, u ∈ V.zeroSubgroup ∧ u * y = x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.exists_mul_zeroSubgroup_eq_of_val_eq

Establishes the identity ∃ u : G, u ∈ V.zeroSubgroup ∧ y * u = x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem exists_mul_zeroSubgroup_eq_of_val_eq {x y : G}
    (hxy : V.val x = V.val y) :
    ∃ u : G, u ∈ V.zeroSubgroup ∧ y * u = x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_of_exists_zeroSubgroup_mul_eq

Establishes the identity V.val x = V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_of_exists_zeroSubgroup_mul_eq {x y : G}
    (hxy : ∃ u : G, u ∈ V.zeroSubgroup ∧ u * y = x) :
    V.val x = V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_of_exists_mul_zeroSubgroup_eq

Establishes the identity V.val x = V.val y.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_of_exists_mul_zeroSubgroup_eq {x y : G}
    (hxy : ∃ u : G, u ∈ V.zeroSubgroup ∧ y * u = x) :
    V.val x = V.val y
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_zero_iff_mem_zeroSubgroup

Characterizes V.val x = 0 by the equivalent condition x ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_zero_iff_mem_zeroSubgroup (x : G) :
    V.val x = 0 ↔ x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_pow_mem

Establishes the membership statement x ^ n ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_pow_mem {x : G} (hx : x ∈ V.zeroSubgroup) (n : ℕ) :
    x ^ n ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_zpow_mem

Establishes the membership statement x ^ n ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_zpow_mem {x : G} (hx : x ∈ V.zeroSubgroup) (n : ℤ) :
    x ^ n ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_pow_mem_iff_of_ne_zero

Characterizes x ^ n ∈ V.zeroSubgroup by the equivalent condition x ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_pow_mem_iff_of_ne_zero (x : G) {n : ℕ} (hn : n ≠ 0) :
    x ^ n ∈ V.zeroSubgroup ↔ x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_zpow_mem_iff_of_ne_zero

Characterizes x ^ n ∈ V.zeroSubgroup by the equivalent condition x ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_zpow_mem_iff_of_ne_zero (x : G) {n : ℤ} (hn : n ≠ 0) :
    x ^ n ∈ V.zeroSubgroup ↔ x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_mul_iff_right

Characterizes x * u ∈ V.zeroSubgroup by the equivalent condition x ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_mul_iff_right {x u : G} (hu : u ∈ V.zeroSubgroup) :
    x * u ∈ V.zeroSubgroup ↔ x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_mul_iff_left

Characterizes u * x ∈ V.zeroSubgroup by the equivalent condition x ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_mul_iff_left {u x : G} (hu : u ∈ V.zeroSubgroup) :
    u * x ∈ V.zeroSubgroup ↔ x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_div_iff_right

Characterizes x / u ∈ V.zeroSubgroup by the equivalent condition x ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_div_iff_right {x u : G} (hu : u ∈ V.zeroSubgroup) :
    x / u ∈ V.zeroSubgroup ↔ x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.zeroSubgroup_div_iff_left

Characterizes u / x ∈ V.zeroSubgroup by the equivalent condition x ∈ V.zeroSubgroup.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem zeroSubgroup_div_iff_left {u x : G} (hu : u ∈ V.zeroSubgroup) :
    u / x ∈ V.zeroSubgroup ↔ x ∈ V.zeroSubgroup
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_mul_eq_left_of_right_zero

Establishes the identity V.val (x * u) = V.val x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_mul_eq_left_of_right_zero {x u : G} (hu : V.val u = 0) :
    V.val (x * u) = V.val x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_mul_eq_right_of_left_zero

Establishes the identity V.val (u * x) = V.val x.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_mul_eq_right_of_left_zero {u x : G} (hu : V.val u = 0) :
    V.val (u * x) = V.val x
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_zeroSubgroup_mul_zpow

val_zeroSubgroup_mul satisfies the integer-power formula V.val (u * γ ^ n) = n * V.val γ.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_zeroSubgroup_mul_zpow {u γ : G}
    (hu : u ∈ V.zeroSubgroup) (n : ℤ) :
    V.val (u * γ ^ n) = n * V.val γ
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_subgroup_mul_zpow_of_le_zeroSubgroup

Establishes the identity V.val (u * γ ^ n) = n * V.val γ.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_subgroup_mul_zpow_of_le_zeroSubgroup
    (P : Subgroup G) (hP : P ≤ V.zeroSubgroup)
    {u γ : G} (hu : u ∈ P) (n : ℤ) :
    V.val (u * γ ^ n) = n * V.val γ
LocalFieldTheory.DiscreteValuationField.MultiplicativeIntegerValuation.val_eq_generator_multiple_of_mem_subgroup_mul_zpow

val_eq_generator_multiple_of_mem_subgroup_mul satisfies the integer-power formula V.val x = n * V.val γ.

Source context 6 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
namespace MultiplicativeIntegerValuation
variable {G : Type u} [Group G] (V : MultiplicativeIntegerValuation G)
theorem val_eq_generator_multiple_of_mem_subgroup_mul_zpow
    (P : Subgroup G) (hP : P ≤ V.zeroSubgroup)
    {x u γ : G} (hu : u ∈ P) {n : ℤ}
    (hx : x = u * γ ^ n) :
    V.val x = n * V.val γ
LocalFieldTheory.DiscreteValuationField.ValuedNorm

A norm-like homomorphism compatible with integer-valued valuations.

residueDegree is proof-attached data: it is the multiplier in valuation_formula, not an independent field-extension invariant. In the usual discrete-valued application the source has a uniformizer, and evaluating valuation_formula at that uniformizer uniquely determines this coefficient. The generic group-level abstraction does not require a uniformizer, so it keeps the coefficient together with the formula that certifies it.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u v
namespace DiscreteValuationField
structure ValuedNorm {G : Type u} {H : Type v} [Group G] [Group H]
    (vG : MultiplicativeIntegerValuation G)
    (vH : MultiplicativeIntegerValuation H) where
  /-- The multiplicative norm homomorphism. -/
  toHom : H →* G
  /-- The nonnegative scaling factor in the valuation formula. -/
  residueDegree : ℕ
  /-- Applying the norm scales valuation by the residue-degree factor. -/
  valuation_formula :
    ∀ x : H, vG.val (toHom x) = (residueDegree : ℤ) * vH.val x