Module

ResidueUnits.lean

Nyll.ValuedFieldTheory.LocalField.NonarchimedeanLocalField.ResidueUnits
34 declarations indexed from sourceView source ↗

Residue units

Constructs the quotient of valuation-ring units by first principal units and identifies it, multiplicatively and additively, with the residue-field units.

Declarations

LocalFieldTheory.ResidueUnits

The residue-field unit group attached to a valued field.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def ResidueUnits (K : Type u) [Field K] [ValuativeRel K] : Type u
LocalFieldTheory.residueUnitsCommGroup

The unit group of the residue field is a commutative group.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
instance residueUnitsCommGroup
    (K : Type u) [Field K] [ValuativeRel K] :
    CommGroup (ResidueUnits K)
LocalFieldTheory.residueUnitsConcreteEquiv

Explicit comparison with the concrete unit group of the residue field.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def residueUnitsConcreteEquiv
    (K : Type u) [Field K] [ValuativeRel K] :
    ResidueUnits K ≃* 𝓀[K]ˣ
LocalFieldTheory.residueUnitsConcreteEquiv_apply

The concrete residue-unit comparison preserves the underlying residue unit.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem residueUnitsConcreteEquiv_apply
    (K : Type u) [Field K] [ValuativeRel K] (u : ResidueUnits K) :
    residueUnitsConcreteEquiv K u = u
LocalFieldTheory.residueUnitsFinite

The unit group of the finite residue field is finite.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
instance residueUnitsFinite
    (K : Type u) [Field K] [ValuativeRel K] [Finite 𝓀[K]] :
    Finite (ResidueUnits K)
LocalFieldTheory.IntegerUnitsModPrincipalUnits

Integer units modulo first principal units.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def IntegerUnitsModPrincipalUnits
    (K : Type u) [Field K] [ValuativeRel K] : Type u
LocalFieldTheory.integerUnitsModPrincipalUnitsCommGroup

Valuation-ring units modulo first principal units form a commutative quotient group.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
instance integerUnitsModPrincipalUnitsCommGroup
    (K : Type u) [Field K] [ValuativeRel K] :
    CommGroup (IntegerUnitsModPrincipalUnits K)
LocalFieldTheory.integerUnitsModPrincipalUnitsConcreteEquiv

Explicit access to the concrete quotient model.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def integerUnitsModPrincipalUnitsConcreteEquiv
    (K : Type u) [Field K] [ValuativeRel K] :
    IntegerUnitsModPrincipalUnits K ≃*
      (𝒪[K]ˣ ⧸ principalUnits K 1)
LocalFieldTheory.integerUnitsModPrincipalUnitsMk

The canonical class of an integer unit modulo first principal units.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def integerUnitsModPrincipalUnitsMk
    (K : Type u) [Field K] [ValuativeRel K] :
    𝒪[K]ˣ →* IntegerUnitsModPrincipalUnits K
LocalFieldTheory.integerUnitsModPrincipalUnitsConcreteEquiv_mk

The concrete quotient equivalence sends a valuation-ring unit to its class modulo first principal units.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsModPrincipalUnitsConcreteEquiv_mk
    (K : Type u) [Field K] [ValuativeRel K] (x : 𝒪[K]ˣ) :
    integerUnitsModPrincipalUnitsConcreteEquiv K
        (integerUnitsModPrincipalUnitsMk K x) =
      QuotientGroup.mk x
LocalFieldTheory.integerUnitsModPrincipalUnitsMk_surjective

Every class modulo first principal units has a valuation-ring unit representative.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsModPrincipalUnitsMk_surjective
    (K : Type u) [Field K] [ValuativeRel K] :
    Function.Surjective (integerUnitsModPrincipalUnitsMk K)
LocalFieldTheory.IntegerUnitsModPrincipalUnits.inductionOn

Eliminate a quotient class through the canonical class map.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem IntegerUnitsModPrincipalUnits.inductionOn
    {K : Type u} [Field K] [ValuativeRel K]
    {motive : IntegerUnitsModPrincipalUnits K → Prop}
    (q : IntegerUnitsModPrincipalUnits K)
    (h : ∀ x : 𝒪[K]ˣ, motive (integerUnitsModPrincipalUnitsMk K x)) :
    motive q
LocalFieldTheory.integerUnitsModPrincipalUnitsLift

Descend a homomorphism that kills the first principal-unit group.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def integerUnitsModPrincipalUnitsLift
    {K : Type u} {M : Type*} [Field K] [ValuativeRel K] [Group M]
    (f : 𝒪[K]ˣ →* M) (h : principalUnits K 1 ≤ f.ker) :
    IntegerUnitsModPrincipalUnits K →* M
LocalFieldTheory.integerUnitsModPrincipalUnitsLift_mk

A map lifted from units modulo first principal units agrees with the original map on representatives.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsModPrincipalUnitsLift_mk
    {K : Type u} {M : Type*} [Field K] [ValuativeRel K] [Group M]
    (f : 𝒪[K]ˣ →* M) (h : principalUnits K 1 ≤ f.ker) (x : 𝒪[K]ˣ) :
    integerUnitsModPrincipalUnitsLift f h
        (integerUnitsModPrincipalUnitsMk K x) = f x
LocalFieldTheory.integerUnitsToResidueUnits

Reduction of valuation-integer units to residue-field units.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def integerUnitsToResidueUnits (K : Type u) [Field K] [ValuativeRel K] :
    𝒪[K]ˣ →* ResidueUnits K
LocalFieldTheory.integerUnitsToResidueUnits_apply

Reduction of a valuation-ring unit has underlying residue equal to reduction of its underlying integer.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsToResidueUnits_apply (K : Type u) [Field K] [ValuativeRel K]
    (x : 𝒪[K]ˣ) :
    ((residueUnitsConcreteEquiv K (integerUnitsToResidueUnits K x) : 𝓀[K]ˣ) :
        𝓀[K]) =
      IsLocalRing.residue 𝒪[K] (x : 𝒪[K])
LocalFieldTheory.mem_ker_integerUnitsToResidueUnits_iff

Kernel criterion for reduction on valuation-integer units.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem mem_ker_integerUnitsToResidueUnits_iff (K : Type u) [Field K] [ValuativeRel K]
    (x : 𝒪[K]ˣ) :
    x ∈ (integerUnitsToResidueUnits K).ker ↔
      IsLocalRing.residue 𝒪[K] (x : 𝒪[K]) = 1
LocalFieldTheory.principalUnits_one_eq_ker_integerUnitsToResidueUnits

The first principal-unit group is the kernel of reduction to residue-field units.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem principalUnits_one_eq_ker_integerUnitsToResidueUnits
    (K : Type u) [Field K] [ValuativeRel K] :
    principalUnits K 1 = (integerUnitsToResidueUnits K).ker
LocalFieldTheory.integerUnitsToResidueUnits_eq_one_iff_mem_principalUnits_one

A valuation-ring unit reduces to one exactly when it is a first principal unit.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsToResidueUnits_eq_one_iff_mem_principalUnits_one
    (K : Type u) [Field K] [ValuativeRel K] (x : 𝒪[K]ˣ) :
    integerUnitsToResidueUnits K x = 1 ↔ x ∈ principalUnits K 1
LocalFieldTheory.integerUnitsToResidueUnits_eq_iff_div_mem_principalUnits_one

Two valuation-ring units have the same residue exactly when their quotient is a first principal unit.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsToResidueUnits_eq_iff_div_mem_principalUnits_one
    (K : Type u) [Field K] [ValuativeRel K] (x y : 𝒪[K]ˣ) :
    integerUnitsToResidueUnits K x = integerUnitsToResidueUnits K y ↔
      x / y ∈ principalUnits K 1
LocalFieldTheory.principalUnits_le_ker_reduction

Higher principal units reduce to 1 in the residue-field unit group.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem principalUnits_le_ker_reduction
    (K : Type u) [Field K] [ValuativeRel K] {n : Nat} (hn : 1 ≤ n) :
    principalUnits K n ≤ (integerUnitsToResidueUnits K).ker
LocalFieldTheory.integerUnitsToResidueUnits_surjective

Every residue-field unit lifts to a valuation-ring unit.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsToResidueUnits_surjective (K : Type u) [Field K] [ValuativeRel K] :
    Function.Surjective (integerUnitsToResidueUnits K)
LocalFieldTheory.integerUnitsModPrincipalUnitsEquivResidueUnits

Reduction induces 𝒪[K]ˣ / U¹ ≃ 𝓀[K]ˣ.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def integerUnitsModPrincipalUnitsEquivResidueUnits
    (K : Type u) [Field K] [ValuativeRel K] :
    IntegerUnitsModPrincipalUnits K ≃* ResidueUnits K
LocalFieldTheory.integerUnitsModPrincipalUnitsEquivResidueUnits_mk

The quotient-to-residue-unit equivalence sends a unit class to the reduction of its representative.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsModPrincipalUnitsEquivResidueUnits_mk
    (K : Type u) [Field K] [ValuativeRel K] (x : 𝒪[K]ˣ) :
    integerUnitsModPrincipalUnitsEquivResidueUnits K
        (integerUnitsModPrincipalUnitsMk K x) =
      integerUnitsToResidueUnits K x
LocalFieldTheory.integerUnitsModPrincipalUnitsEquivResidueUnits_mk_eq_one_iff

The residue-unit quotient equivalence sends a class to 1 exactly for first principal units.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsModPrincipalUnitsEquivResidueUnits_mk_eq_one_iff
    (K : Type u) [Field K] [ValuativeRel K] (x : 𝒪[K]ˣ) :
    integerUnitsModPrincipalUnitsEquivResidueUnits K
        (integerUnitsModPrincipalUnitsMk K x) = 1 ↔
      x ∈ principalUnits K 1
LocalFieldTheory.integerUnitsModPrincipalUnitsEquivResidueUnits_mk_eq_mk_iff

Equality of residue classes is the same as quotient by a first principal unit.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsModPrincipalUnitsEquivResidueUnits_mk_eq_mk_iff
    (K : Type u) [Field K] [ValuativeRel K] (x y : 𝒪[K]ˣ) :
    integerUnitsModPrincipalUnitsEquivResidueUnits K
        (integerUnitsModPrincipalUnitsMk K x) =
      integerUnitsModPrincipalUnitsEquivResidueUnits K
        (integerUnitsModPrincipalUnitsMk K y) ↔
      x / y ∈ principalUnits K 1
LocalFieldTheory.integerUnitsModPrincipalUnitsAddEquivResidueUnits

Additive form of 𝒪[K]ˣ / U¹ ≃ 𝓀[K]ˣ.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def integerUnitsModPrincipalUnitsAddEquivResidueUnits
    (K : Type u) [Field K] [ValuativeRel K] :
    Additive (IntegerUnitsModPrincipalUnits K) ≃+ Additive (ResidueUnits K)
LocalFieldTheory.IntegerUnitsModPrincipalUnits_mk_eq_mk_iff

Equality in 𝒪[K]ˣ / U¹, expressed by a first-principal-unit quotient.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem IntegerUnitsModPrincipalUnits_mk_eq_mk_iff
    (K : Type u) [Field K] [ValuativeRel K] (x y : 𝒪[K]ˣ) :
    integerUnitsModPrincipalUnitsMk K x =
        integerUnitsModPrincipalUnitsMk K y ↔
      x / y ∈ principalUnits K 1
LocalFieldTheory.IntegerUnitsModPrincipalUnits_mk_eq_one_iff

Triviality criterion in 𝒪[K]ˣ / U¹.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem IntegerUnitsModPrincipalUnits_mk_eq_one_iff
    (K : Type u) [Field K] [ValuativeRel K] (x : 𝒪[K]ˣ) :
    integerUnitsModPrincipalUnitsMk K x = 1 ↔
      x ∈ principalUnits K 1
LocalFieldTheory.IntegerUnitsModPrincipalUnits_mk_eq_mk_iff_residue

Equality in 𝒪[K]ˣ / U¹ is exactly equality after reduction to residue units.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem IntegerUnitsModPrincipalUnits_mk_eq_mk_iff_residue
    (K : Type u) [Field K] [ValuativeRel K] (x y : 𝒪[K]ˣ) :
    integerUnitsModPrincipalUnitsMk K x =
        integerUnitsModPrincipalUnitsMk K y ↔
      integerUnitsToResidueUnits K x = integerUnitsToResidueUnits K y
LocalFieldTheory.IntegerUnitsModPrincipalUnits_mk_eq_one_iff_residue_eq_one

The class of an integer unit in 𝒪[K]ˣ / U¹ is trivial exactly when its residue is 1.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem IntegerUnitsModPrincipalUnits_mk_eq_one_iff_residue_eq_one
    (K : Type u) [Field K] [ValuativeRel K] (x : 𝒪[K]ˣ) :
    integerUnitsModPrincipalUnitsMk K x = 1 ↔
      integerUnitsToResidueUnits K x = 1
LocalFieldTheory.integerUnitsModPrincipalUnitsAddEquivResidueUnits_mk

Additive version of the residue-unit quotient equivalence on quotient representatives.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsModPrincipalUnitsAddEquivResidueUnits_mk
    (K : Type u) [Field K] [ValuativeRel K] (x : 𝒪[K]ˣ) :
    integerUnitsModPrincipalUnitsAddEquivResidueUnits K
        (Additive.ofMul (integerUnitsModPrincipalUnitsMk K x)) =
      Additive.ofMul (integerUnitsToResidueUnits K x)
LocalFieldTheory.integerUnitsModPrincipalUnitsIsoResidueUnits

Module form of the residue-unit quotient equivalence.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
def integerUnitsModPrincipalUnitsIsoResidueUnits
    (K : Type u) [Field K] [ValuativeRel K] :
    CategoryTheory.Iso (ModuleCat.of ℤ (Additive (IntegerUnitsModPrincipalUnits K)))
      (ModuleCat.of ℤ (Additive (ResidueUnits K)))
LocalFieldTheory.integerUnitsModPrincipalUnits_card_eq_residueUnits_card

Cardinality statement transported from the quotient equivalence with residue units.

Source context 4 commands

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

namespace LocalFieldTheory
noncomputable section
universe u
open scoped ValuativeRel
theorem integerUnitsModPrincipalUnits_card_eq_residueUnits_card
    (K : Type u) [Field K] [ValuativeRel K]
    [Finite (IntegerUnitsModPrincipalUnits K)]
    [Finite (ResidueUnits K)] :
    Nat.card (IntegerUnitsModPrincipalUnits K) = Nat.card (ResidueUnits K)