Module

Units.lean

Nyll.ValuedFieldTheory.LocalField.DiscreteValuationField.Units
100 declarations indexed from sourceView source ↗

Principal-unit filtrations

This file provides a theorem API for antitone principal-unit filtrations used by ramification and norm arguments.

Imports3
  • Mathlib.SetTheory.Cardinal.Finite
  • Mathlib.GroupTheory.Index
  • Mathlib.GroupTheory.QuotientGroup.Basic
Imported by2

Declarations

LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration

A generic antitone filtration by subgroups of a group. No valued-field semantics are asserted by this interface alone.

Source context 4 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
structure AntitoneSubgroupFiltration (G : Type u) [Group G] where
  /-- The subgroup at each natural-number filtration level. -/
  subgroup : ℕ → Subgroup G
  /-- Higher filtration levels are contained in lower ones. -/
  antitone : ∀ {m n : ℕ}, m ≤ n → subgroup n ≤ subgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup

The n-th principal-unit subgroup.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitSubgroup (n : ℕ) : Subgroup G
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.mem_principalUnitSubgroup_iff

Characterizes x ∈ U.principalUnitSubgroup n by the equivalent condition x ∈ U.subgroup n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem mem_principalUnitSubgroup_iff (n : ℕ) (x : G) :
    x ∈ U.principalUnitSubgroup n ↔ x ∈ U.subgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_antitone

Higher filtration levels are contained in lower levels.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_antitone {m n : ℕ} (h : m ≤ n) :
    U.principalUnitSubgroup n ≤ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.mem_of_mem_of_le

Establishes the membership statement x ∈ U.principalUnitSubgroup m.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem mem_of_mem_of_le {m n : ℕ} (h : m ≤ n) {x : G}
    (hx : x ∈ U.principalUnitSubgroup n) :
    x ∈ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.one_mem_principalUnitSubgroup

Establishes the membership statement (1 : G) ∈ U.principalUnitSubgroup n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem one_mem_principalUnitSubgroup (n : ℕ) :
    (1 : G) ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_mul_mem

Establishes the membership statement x * y ∈ U.principalUnitSubgroup n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_mul_mem (n : ℕ) {x y : G}
    (hx : x ∈ U.principalUnitSubgroup n)
    (hy : y ∈ U.principalUnitSubgroup n) :
    x * y ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_inv_mem

Establishes the membership statement x⁻¹ ∈ U.principalUnitSubgroup n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_inv_mem (n : ℕ) {x : G}
    (hx : x ∈ U.principalUnitSubgroup n) :
    x⁻¹ ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_div_mem

Establishes the membership statement x / y ∈ U.principalUnitSubgroup n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_div_mem (n : ℕ) {x y : G}
    (hx : x ∈ U.principalUnitSubgroup n)
    (hy : y ∈ U.principalUnitSubgroup n) :
    x / y ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_pow_mem

Establishes the membership statement x ^ m ∈ U.principalUnitSubgroup n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_pow_mem (n : ℕ) {x : G}
    (hx : x ∈ U.principalUnitSubgroup n) (m : ℕ) :
    x ^ m ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_zpow_mem

Establishes the membership statement x ^ m ∈ U.principalUnitSubgroup n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_zpow_mem (n : ℕ) {x : G}
    (hx : x ∈ U.principalUnitSubgroup n) (m : ℤ) :
    x ^ m ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_mul_iff_right

Multiplication on the right by a same-level element preserves membership.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_mul_iff_right (n : ℕ) {x u : G}
    (hu : u ∈ U.principalUnitSubgroup n) :
    x * u ∈ U.principalUnitSubgroup n ↔ x ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_mul_iff_left

Multiplication on the left by a same-level element preserves membership.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_mul_iff_left (n : ℕ) {u x : G}
    (hu : u ∈ U.principalUnitSubgroup n) :
    u * x ∈ U.principalUnitSubgroup n ↔ x ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_div_iff_right

Dividing on the right by a same-level element preserves membership.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_div_iff_right (n : ℕ) {x u : G}
    (hu : u ∈ U.principalUnitSubgroup n) :
    x / u ∈ U.principalUnitSubgroup n ↔ x ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_div_iff_left

Dividing a same-level element on the left by x detects membership of x.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_div_iff_left (n : ℕ) {u x : G}
    (hu : u ∈ U.principalUnitSubgroup n) :
    u / x ∈ U.principalUnitSubgroup n ↔ x ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_div_mem_iff_inv_mul_mem

In a normal principal-unit filtration subgroup, the right quotient x / y and 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
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_div_mem_iff_inv_mul_mem
    (n : ℕ) [(U.principalUnitSubgroup n).Normal] (x y : G) :
    x / y ∈ U.principalUnitSubgroup n ↔
      y⁻¹ * x ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroup_inv_mul_mem_iff_div_mem

Left-quotient version of principalUnitSubgroup_div_mem_iff_inv_mul_mem.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroup_inv_mul_mem_iff_div_mem
    (n : ℕ) [(U.principalUnitSubgroup n).Normal] (x y : G) :
    y⁻¹ * x ∈ U.principalUnitSubgroup n ↔
      x / y ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mk_eq_one_iff

Kernel criterion in the quotient by a principal-unit filtration subgroup.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mk_eq_one_iff
    (n : ℕ) [(U.principalUnitSubgroup n).Normal] (x : G) :
    QuotientGroup.mk' (U.principalUnitSubgroup n) x = 1 ↔
      x ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mk_eq_iff_div_mem

Equality in the quotient by a principal-unit filtration subgroup, in right-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mk_eq_iff_div_mem
    (n : ℕ) [(U.principalUnitSubgroup n).Normal] (x y : G) :
    QuotientGroup.mk' (U.principalUnitSubgroup n) x =
        QuotientGroup.mk' (U.principalUnitSubgroup n) y ↔
      x / y ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mk_eq_iff_inv_mul_mem

Equality in the quotient by a principal-unit filtration subgroup, in left-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mk_eq_iff_inv_mul_mem
    (n : ℕ) [(U.principalUnitSubgroup n).Normal] (x y : G) :
    QuotientGroup.mk' (U.principalUnitSubgroup n) x =
        QuotientGroup.mk' (U.principalUnitSubgroup n) y ↔
      y⁻¹ * x ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe

The natural map from a finer filtration quotient to a coarser filtration quotient. If m ≤ n, then U^n ≤ U^m, so quotienting by U^n maps to quotienting by U^m.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def quotient_principalUnitSubgroup_mapOfLe {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    G ⧸ U.principalUnitSubgroup n →*
      G ⧸ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_apply_mk

The defining evaluation formula for quotient_principalUnitSubgroup_mapOfLe is U.quotient_principalUnitSubgroup_mapOfLe hmn (QuotientGroup.mk x) = QuotientGroup.mk x.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_apply_mk
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x : G) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn (QuotientGroup.mk x) =
      QuotientGroup.mk x
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_apply_mk'

Establishes the identity U.quotient_principalUnitSubgroup_mapOfLe hmn (QuotientGroup.mk' (U.principalUnitSubgroup n) x) = QuotientGroup.mk' (U.principalUnitSubgroup m) x.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_apply_mk'
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x : G) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn
        (QuotientGroup.mk' (U.principalUnitSubgroup n) x) =
      QuotientGroup.mk' (U.principalUnitSubgroup m) x
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroupClassInQuotient

The class of U^m inside G ⧸ U^n. For m ≤ n, this is the kernel of the natural map G ⧸ U^n →* G ⧸ U^m.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitSubgroupClassInQuotient (m n : ℕ)
    [(U.principalUnitSubgroup n).Normal] :
    Subgroup (G ⧸ U.principalUnitSubgroup n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroupClassInQuotient_normal

The subgroup appearing in (U.principalUnitSubgroupClassInQuotient m n).Normal is normal.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
instance principalUnitSubgroupClassInQuotient_normal
    (m n : ℕ) [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    (U.principalUnitSubgroupClassInQuotient m n).Normal
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.mem_principalUnitSubgroupClassInQuotient_iff

Characterizes q ∈ U.principalUnitSubgroupClassInQuotient m n by the equivalent condition ∃ x : G, x ∈ U.principalUnitSubgroup m ∧ QuotientGroup.mk' (U.principalUnitSubgroup n) x = q.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem mem_principalUnitSubgroupClassInQuotient_iff
    (m n : ℕ) [(U.principalUnitSubgroup n).Normal]
    (q : G ⧸ U.principalUnitSubgroup n) :
    q ∈ U.principalUnitSubgroupClassInQuotient m n ↔
      ∃ x : G, x ∈ U.principalUnitSubgroup m ∧
        QuotientGroup.mk' (U.principalUnitSubgroup n) x = q
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroupClassInQuotient_mk_mem

Establishes the membership statement QuotientGroup.mk' (U.principalUnitSubgroup n) x ∈ U.principalUnitSubgroupClassInQuotient m n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroupClassInQuotient_mk_mem
    {m n : ℕ} [(U.principalUnitSubgroup n).Normal] {x : G}
    (hx : x ∈ U.principalUnitSubgroup m) :
    QuotientGroup.mk' (U.principalUnitSubgroup n) x ∈
      U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotient

The subquotient U^m/U^n of a principal-unit filtration. Under m ≤ n, antitonicity makes this the usual quotient of U^m by U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitSubquotient (m n : ℕ) : Type u
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotientGroup

Equips the target with its canonical Group structure, namely Group (U.principalUnitSubquotient m n).

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
instance principalUnitSubquotientGroup
    (m n : ℕ) [(U.principalUnitSubgroup n).Normal] :
    Group (U.principalUnitSubquotient m n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotientConcreteEquiv

Explicit access to the concrete quotient representation.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitSubquotientConcreteEquiv
    (m n : ℕ) [(U.principalUnitSubgroup n).Normal] :
    U.principalUnitSubquotient m n ≃*
      (U.principalUnitSubgroup m ⧸
        (U.principalUnitSubgroup n).subgroupOf
          (U.principalUnitSubgroup m))
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotientCommGroup

A subquotient of a commutative principal-unit filtration retains the commutative group structure of its concrete quotient representation.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
instance principalUnitSubquotientCommGroup
    {H : Type u} [CommGroup H] (V : AntitoneSubgroupFiltration H)
    (m n : ℕ) [(V.principalUnitSubgroup n).Normal] :
    CommGroup (V.principalUnitSubquotient m n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotientMk

The canonical class map U^m → U^m/U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitSubquotientMk
    (m n : ℕ) [(U.principalUnitSubgroup n).Normal] :
    U.principalUnitSubgroup m →* U.principalUnitSubquotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotientConcreteEquiv_mk

Establishes the identity U.principalUnitSubquotientConcreteEquiv m n (U.principalUnitSubquotientMk m n x) = QuotientGroup.mk x.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubquotientConcreteEquiv_mk
    (m n : ℕ) [(U.principalUnitSubgroup n).Normal]
    (x : U.principalUnitSubgroup m) :
    U.principalUnitSubquotientConcreteEquiv m n
        (U.principalUnitSubquotientMk m n x) =
      QuotientGroup.mk x
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotientMk_surjective

The specified map is surjective: Function.Surjective (U.principalUnitSubquotientMk m n).

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubquotientMk_surjective
    (m n : ℕ) [(U.principalUnitSubgroup n).Normal] :
    Function.Surjective (U.principalUnitSubquotientMk m n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotient.inductionOn

Eliminate a principal-unit subquotient through its canonical map.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubquotient.inductionOn
    (m n : ℕ) [(U.principalUnitSubgroup n).Normal]
    {motive : U.principalUnitSubquotient m n → Prop}
    (q : U.principalUnitSubquotient m n)
    (h : ∀ x : U.principalUnitSubgroup m,
      motive (U.principalUnitSubquotientMk m n x)) :
    motive q
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotientLift

Descend a homomorphism that kills U^n inside U^m.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitSubquotientLift
    {H : Type*} [Group H] (m n : ℕ)
    [(U.principalUnitSubgroup n).Normal]
    (f : U.principalUnitSubgroup m →* H)
    (h : (U.principalUnitSubgroup n).subgroupOf
      (U.principalUnitSubgroup m) ≤ f.ker) :
    U.principalUnitSubquotient m n →* H
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotientLift_mk

Establishes the identity U.principalUnitSubquotientLift m n f h (U.principalUnitSubquotientMk m n x) = f x.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubquotientLift_mk
    {H : Type*} [Group H] (m n : ℕ)
    [(U.principalUnitSubgroup n).Normal]
    (f : U.principalUnitSubgroup m →* H)
    (h : (U.principalUnitSubgroup n).subgroupOf
      (U.principalUnitSubgroup m) ≤ f.ker)
    (x : U.principalUnitSubgroup m) :
    U.principalUnitSubquotientLift m n f h
        (U.principalUnitSubquotientMk m n x) = f x
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitGradedPiece

The principal-unit graded piece U^n/U^{n+1}.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitGradedPiece (n : ℕ) : Type u
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitGradedPieceGroup

Equips the target with its canonical Group structure, namely Group (U.principalUnitGradedPiece n).

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
instance principalUnitGradedPieceGroup
    (n : ℕ) [(U.principalUnitSubgroup (n + 1)).Normal] :
    Group (U.principalUnitGradedPiece n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitGradedPieceMk

The canonical class map into the adjacent graded piece.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitGradedPieceMk
    (n : ℕ) [(U.principalUnitSubgroup (n + 1)).Normal] :
    U.principalUnitSubgroup n →* U.principalUnitGradedPiece n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitGradedPieceEquivSubquotient

Explicit identification of a graded piece with its named adjacent subquotient.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitGradedPieceEquivSubquotient
    (n : ℕ) [(U.principalUnitSubgroup (n + 1)).Normal] :
    U.principalUnitGradedPiece n ≃*
      U.principalUnitSubquotient n (n + 1)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitGradedPieceFinite

The type in Finite (U.principalUnitGradedPiece n) is finite.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
instance principalUnitGradedPieceFinite
    (n : ℕ) [(U.principalUnitSubgroup (n + 1)).Normal]
    [Finite (U.principalUnitSubquotient n (n + 1))] :
    Finite (U.principalUnitGradedPiece n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.card_principalUnitSubquotient_succ_eq_gradedPiece

Cardinality bridge between the adjacent named subquotient and the graded piece wrapper.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem card_principalUnitSubquotient_succ_eq_gradedPiece
    (n : ℕ) [(U.principalUnitSubgroup (n + 1)).Normal]
    [Finite (U.principalUnitSubquotient n (n + 1))] :
    Nat.card (U.principalUnitSubquotient n (n + 1)) =
      Nat.card (U.principalUnitGradedPiece n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotient_mk_eq_one_iff

Representative criterion for the identity in U^m/U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubquotient_mk_eq_one_iff
    {m n : ℕ} [(U.principalUnitSubgroup n).Normal]
    (x : U.principalUnitSubgroup m) :
    U.principalUnitSubquotientMk m n x = 1 ↔
      (x : G) ∈ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotient_mk_eq_iff_div_mem

Representative equality criterion in U^m/U^n, in right-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubquotient_mk_eq_iff_div_mem
    {m n : ℕ} [(U.principalUnitSubgroup n).Normal]
    (x y : U.principalUnitSubgroup m) :
    U.principalUnitSubquotientMk m n x =
      U.principalUnitSubquotientMk m n y ↔
      ((x / y : U.principalUnitSubgroup m) : G) ∈
        U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotient_mk_eq_iff_inv_mul_mem

Representative equality criterion in U^m/U^n, in left-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubquotient_mk_eq_iff_inv_mul_mem
    {m n : ℕ} [(U.principalUnitSubgroup n).Normal]
    (x y : U.principalUnitSubgroup m) :
    U.principalUnitSubquotientMk m n x =
      U.principalUnitSubquotientMk m n y ↔
      ((y⁻¹ * x : U.principalUnitSubgroup m) : G) ∈
        U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroupToQuotient

The map from U^m into G/U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitSubgroupToQuotient {m n : ℕ} (_hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal] :
    U.principalUnitSubgroup m →* G ⧸ U.principalUnitSubgroup n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroupToQuotient_apply

The defining evaluation formula for principalUnitSubgroupToQuotient is U.principalUnitSubgroupToQuotient hmn x = QuotientGroup.mk' (U.principalUnitSubgroup n) (x : G).

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroupToQuotient_apply
    {m n : ℕ} (hmn : m ≤ n) [(U.principalUnitSubgroup n).Normal]
    (x : U.principalUnitSubgroup m) :
    U.principalUnitSubgroupToQuotient hmn x =
      QuotientGroup.mk' (U.principalUnitSubgroup n) (x : G)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroupToQuotient_ker_eq

The kernel of U^m → G/U^n is U^n inside U^m.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroupToQuotient_ker_eq
    {m n : ℕ} (hmn : m ≤ n) [(U.principalUnitSubgroup n).Normal] :
    (U.principalUnitSubgroupToQuotient hmn).ker =
      (U.principalUnitSubgroup n).subgroupOf
        (U.principalUnitSubgroup m)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroupToQuotient_range_eq_classInQuotient

The range of U^m → G/U^n is the class of U^m in G/U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroupToQuotient_range_eq_classInQuotient
    {m n : ℕ} (hmn : m ≤ n) [(U.principalUnitSubgroup n).Normal] :
    (U.principalUnitSubgroupToQuotient hmn).range =
      U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubquotientEquivClassInQuotientOfLe

The subquotient U^m/U^n as the class of U^m inside G/U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitSubquotientEquivClassInQuotientOfLe
    {m n : ℕ} (hmn : m ≤ n) [(U.principalUnitSubgroup n).Normal] :
    U.principalUnitSubquotient m n ≃*
      U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.coe_principalUnitSubquotientEquivClassInQuotientOfLe_mk

Establishes the identity ((U.principalUnitSubquotientEquivClassInQuotientOfLe hmn (U.principalUnitSubquotientMk m n x) : U.principalUnitSubgroupClassInQuotient m n) : G ⧸ U.principalUnitSubgroup n) = QuotientGroup.mk' (U.principalUnitSubgroup n) (x : G).

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem coe_principalUnitSubquotientEquivClassInQuotientOfLe_mk
    {m n : ℕ} (hmn : m ≤ n) [(U.principalUnitSubgroup n).Normal]
    (x : U.principalUnitSubgroup m) :
    ((U.principalUnitSubquotientEquivClassInQuotientOfLe hmn
        (U.principalUnitSubquotientMk m n x) :
      U.principalUnitSubgroupClassInQuotient m n) :
      G ⧸ U.principalUnitSubgroup n) =
      QuotientGroup.mk' (U.principalUnitSubgroup n) (x : G)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitGradedPieceEquivClassInQuotient

The graded piece U^n/U^{n+1} as the class of U^n inside G/U^{n+1}.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitGradedPieceEquivClassInQuotient
    (n : ℕ) [(U.principalUnitSubgroup (n + 1)).Normal] :
    U.principalUnitGradedPiece n ≃*
      U.principalUnitSubgroupClassInQuotient n (n + 1)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.coe_principalUnitGradedPieceEquivClassInQuotient_mk

Establishes the identity ((U.principalUnitGradedPieceEquivClassInQuotient n (U.principalUnitGradedPieceMk n x) : U.principalUnitSubgroupClassInQuotient n (n + 1)) : G ⧸ U.principalUnitSubgroup (n + 1)) = QuotientGroup.mk' (U.principalUnitSubgroup (n + 1)) (x : G).

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem coe_principalUnitGradedPieceEquivClassInQuotient_mk
    (n : ℕ) [(U.principalUnitSubgroup (n + 1)).Normal]
    (x : U.principalUnitSubgroup n) :
    ((U.principalUnitGradedPieceEquivClassInQuotient n
        (U.principalUnitGradedPieceMk n x) :
      U.principalUnitSubgroupClassInQuotient n (n + 1)) :
      G ⧸ U.principalUnitSubgroup (n + 1)) =
      QuotientGroup.mk' (U.principalUnitSubgroup (n + 1)) (x : G)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_mk_eq_one_iff

Kernel criterion on representatives for the natural map G ⧸ U^n →* G ⧸ U^m.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_mk_eq_one_iff
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x : G) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn (QuotientGroup.mk x) = 1 ↔
      x ∈ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_mk_eq_iff_div_mem

Equality criterion on representatives after the natural map G ⧸ U^n →* G ⧸ U^m, in right-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_mk_eq_iff_div_mem
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x y : G) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn (QuotientGroup.mk x) =
        U.quotient_principalUnitSubgroup_mapOfLe hmn (QuotientGroup.mk y) ↔
      x / y ∈ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_mk_eq_iff_inv_mul_mem

Equality criterion on representatives after the natural map G ⧸ U^n →* G ⧸ U^m, in left-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_mk_eq_iff_inv_mul_mem
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x y : G) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn (QuotientGroup.mk x) =
        U.quotient_principalUnitSubgroup_mapOfLe hmn (QuotientGroup.mk y) ↔
      y⁻¹ * x ∈ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_surjective

The natural map between filtration quotients is surjective.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_surjective
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    Function.Surjective (U.quotient_principalUnitSubgroup_mapOfLe hmn)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_range_eq_top

The natural map between filtration quotients has full range.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_range_eq_top
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    (U.quotient_principalUnitSubgroup_mapOfLe hmn).range = ⊤
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_ker_eq_classInQuotient

The kernel of G ⧸ U^n →* G ⧸ U^m is the image of U^m in G ⧸ U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_ker_eq_classInQuotient
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    (U.quotient_principalUnitSubgroup_mapOfLe hmn).ker =
      U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_mem_classInQuotient

Level-change maps send the class of U^l in G/U^n into the class of U^l in G/U^m, for l ≤ m ≤ n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_mem_classInQuotient
    {l m n : ℕ} (_hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    {q : G ⧸ U.principalUnitSubgroup n}
    (hq : q ∈ U.principalUnitSubgroupClassInQuotient l n) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn q ∈
      U.principalUnitSubgroupClassInQuotient l m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitClassMapOfLe

The level-change map restricted to principal-unit classes: U^l/U^n → U^l/U^m, for l ≤ m ≤ n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitClassMapOfLe {l m n : ℕ} (hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    U.principalUnitSubgroupClassInQuotient l n →*
      U.principalUnitSubgroupClassInQuotient l m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitClassMapOfLe_apply

The defining evaluation formula for principalUnitClassMapOfLe is ((U.principalUnitClassMapOfLe hlm hmn q : U.principalUnitSubgroupClassInQuotient l m) : G ⧸ U.principalUnitSubgroup m) = U.quotient_principalUnitSubgroup_mapOfLe hmn (q : G ⧸ U.principalUnitSubgroup n).

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitClassMapOfLe_apply {l m n : ℕ}
    (hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q : U.principalUnitSubgroupClassInQuotient l n) :
    ((U.principalUnitClassMapOfLe hlm hmn q :
      U.principalUnitSubgroupClassInQuotient l m) :
      G ⧸ U.principalUnitSubgroup m) =
      U.quotient_principalUnitSubgroup_mapOfLe hmn
        (q : G ⧸ U.principalUnitSubgroup n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitClassMapOfLe_ker_eq

The restricted map U^l/U^n → U^l/U^m has kernel U^m/U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitClassMapOfLe_ker_eq {l m n : ℕ}
    (hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    (U.principalUnitClassMapOfLe hlm hmn).ker =
      (U.principalUnitSubgroupClassInQuotient m n).subgroupOf
        (U.principalUnitSubgroupClassInQuotient l n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitClassMapOfLe_surjective

The restricted map U^l/U^n → U^l/U^m is surjective.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitClassMapOfLe_surjective {l m n : ℕ}
    (hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    Function.Surjective (U.principalUnitClassMapOfLe hlm hmn)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitClassQuotientKerEquivClassOfLe

First isomorphism theorem inside principal-unit classes: (U^l/U^n)/ker(U^l/U^n → U^l/U^m) ≃ U^l/U^m, for l ≤ m ≤ n. The kernel is identified with U^m/U^n by principalUnitClassMapOfLe_ker_eq.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitClassQuotientKerEquivClassOfLe {l m n : ℕ}
    (hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    U.principalUnitSubgroupClassInQuotient l n ⧸
        (U.principalUnitClassMapOfLe hlm hmn).ker ≃*
      U.principalUnitSubgroupClassInQuotient l m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitClassQuotientKerEquivClassOfLe_mk'

Establishes the identity U.principalUnitClassQuotientKerEquivClassOfLe hlm hmn (QuotientGroup.mk' (U.principalUnitClassMapOfLe hlm hmn).ker q) = U.principalUnitClassMapOfLe hlm hmn q.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitClassQuotientKerEquivClassOfLe_mk'
    {l m n : ℕ} (hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q : U.principalUnitSubgroupClassInQuotient l n) :
    U.principalUnitClassQuotientKerEquivClassOfLe hlm hmn
        (QuotientGroup.mk' (U.principalUnitClassMapOfLe hlm hmn).ker q) =
      U.principalUnitClassMapOfLe hlm hmn q
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitClassSubgroupOfEquivClassOfLe

The subgroup of U^l/U^n represented by U^m/U^n is canonically the class of U^m in G/U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitClassSubgroupOfEquivClassOfLe {l m n : ℕ}
    (hlm : l ≤ m) [(U.principalUnitSubgroup n).Normal] :
    (U.principalUnitSubgroupClassInQuotient m n).subgroupOf
        (U.principalUnitSubgroupClassInQuotient l n) ≃*
      U.principalUnitSubgroupClassInQuotient m n where
  toFun q :=
    ⟨((q : U.principalUnitSubgroupClassInQuotient l n) :
        G ⧸ U.principalUnitSubgroup n), by
      exact q.property⟩
  invFun q :=
    ⟨⟨(q : G ⧸ U.principalUnitSubgroup n), by
        rcases (U.mem_principalUnitSubgroupClassInQuotient_iff m n
            (q : G ⧸ U.principalUnitSubgroup n)).1 q.property with
          ⟨x, hx, hxq⟩
        exact ⟨x, U.mem_of_mem_of_le hlm hx, hxq⟩⟩, by
      change (q : G ⧸ U.principalUnitSubgroup n) ∈
        U.principalUnitSubgroupClassInQuotient m n
      exact q.property⟩
  left_inv q := by
    ext
    rfl
  right_inv q := by
    ext
    rfl
  map_mul' q r := by
    ext
    rfl
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitClassMapOfLeKerEquivClass

Kernel form of principalUnitClassMapOfLe_ker_eq, with the kernel identified as the class U^m/U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def principalUnitClassMapOfLeKerEquivClass {l m n : ℕ}
    (hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    (U.principalUnitClassMapOfLe hlm hmn).ker ≃*
      U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.card_principalUnitClassInQuotient_eq_mul_of_le

Cardinality multiplication for three levels of a principal-unit filtration: #(U^l/U^n) = #(U^m/U^n) * #(U^l/U^m).

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem card_principalUnitClassInQuotient_eq_mul_of_le {l m n : ℕ}
    (hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    [Finite (U.principalUnitSubgroupClassInQuotient l n)]
    [Finite (U.principalUnitSubgroupClassInQuotient m n)]
    [Finite (U.principalUnitSubgroupClassInQuotient l m)] :
    Nat.card (U.principalUnitSubgroupClassInQuotient l n) =
      Nat.card (U.principalUnitSubgroupClassInQuotient m n) *
        Nat.card (U.principalUnitSubgroupClassInQuotient l m)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.card_principalUnitSubquotient_eq_classInQuotient_of_le

Cardinality form of the class/subquotient identification.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem card_principalUnitSubquotient_eq_classInQuotient_of_le
    {m n : ℕ} (hmn : m ≤ n) [(U.principalUnitSubgroup n).Normal]
    [Finite (U.principalUnitSubquotient m n)]
    [Finite (U.principalUnitSubgroupClassInQuotient m n)] :
    Nat.card (U.principalUnitSubquotient m n) =
      Nat.card (U.principalUnitSubgroupClassInQuotient m n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.card_principalUnitSubquotient_self

The degenerate subquotient U^n/U^n has cardinality one.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem card_principalUnitSubquotient_self
    (n : ℕ) [(U.principalUnitSubgroup n).Normal]
    [Finite (U.principalUnitSubquotient n n)] :
    Nat.card (U.principalUnitSubquotient n n) = 1
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.card_principalUnitSubquotient_eq_mul_of_le

Cardinality multiplication for principal-unit subquotients: #(U^l/U^n) = #(U^m/U^n) * #(U^l/U^m).

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem card_principalUnitSubquotient_eq_mul_of_le {l m n : ℕ}
    (hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    [Finite (U.principalUnitSubquotient l n)]
    [Finite (U.principalUnitSubquotient m n)]
    [Finite (U.principalUnitSubquotient l m)] :
    Nat.card (U.principalUnitSubquotient l n) =
      Nat.card (U.principalUnitSubquotient m n) *
      Nat.card (U.principalUnitSubquotient l m)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.card_principalUnitSubquotient_eq_prod_gradedPiece

Iterated cardinality form of the filtration counting argument: #(U^l/U^(l+r)) is the product of the adjacent graded-piece cardinalities.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem card_principalUnitSubquotient_eq_prod_gradedPiece
    (hN : ∀ i : ℕ, (U.principalUnitSubgroup i).Normal)
    [∀ i j : ℕ, Finite (U.principalUnitSubquotient i j)]
    (l r : ℕ) :
    Nat.card (U.principalUnitSubquotient l (l + r)) =
      ∏ i ∈ Finset.range r,
        Nat.card (U.principalUnitGradedPiece (l + i))
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.mem_quotient_principalUnitSubgroup_mapOfLe_ker_iff

Characterizes q ∈ (U.quotient_principalUnitSubgroup_mapOfLe hmn).ker by the equivalent condition q ∈ U.principalUnitSubgroupClassInQuotient m n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem mem_quotient_principalUnitSubgroup_mapOfLe_ker_iff
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q : G ⧸ U.principalUnitSubgroup n) :
    q ∈ (U.quotient_principalUnitSubgroup_mapOfLe hmn).ker ↔
      q ∈ U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_eq_one_iff_mem_classInQuotient

Kernel criterion for arbitrary quotient elements under the natural filtration level-change map.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_eq_one_iff_mem_classInQuotient
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q : G ⧸ U.principalUnitSubgroup n) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn q = 1 ↔
      q ∈ U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_eq_one_iff_exists_mem_repr

Kernel criterion for arbitrary quotient elements, expanded as a representative lying in the coarser principal-unit subgroup.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_eq_one_iff_exists_mem_repr
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q : G ⧸ U.principalUnitSubgroup n) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn q = 1 ↔
      ∃ x : G, x ∈ U.principalUnitSubgroup m ∧
        QuotientGroup.mk' (U.principalUnitSubgroup n) x = q
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_eq_iff_div_mem_classInQuotient

Equality criterion for arbitrary quotient elements after the natural filtration level-change map, in right-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_eq_iff_div_mem_classInQuotient
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q r : G ⧸ U.principalUnitSubgroup n) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn q =
        U.quotient_principalUnitSubgroup_mapOfLe hmn r ↔
      q / r ∈ U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_eq_iff_exists_mem_div_repr

Equality criterion for arbitrary quotient elements after the natural filtration level-change map, expanded as a representative of q / r lying in the coarser principal-unit subgroup.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_eq_iff_exists_mem_div_repr
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q r : G ⧸ U.principalUnitSubgroup n) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn q =
        U.quotient_principalUnitSubgroup_mapOfLe hmn r ↔
      ∃ x : G, x ∈ U.principalUnitSubgroup m ∧
        QuotientGroup.mk' (U.principalUnitSubgroup n) x = q / r
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_eq_iff_inv_mul_mem_classInQuotient

Equality criterion for arbitrary quotient elements after the natural filtration level-change map, in left-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_eq_iff_inv_mul_mem_classInQuotient
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q r : G ⧸ U.principalUnitSubgroup n) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn q =
        U.quotient_principalUnitSubgroup_mapOfLe hmn r ↔
      r⁻¹ * q ∈ U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_eq_iff_exists_mem_inv_mul_repr

Equality criterion for arbitrary quotient elements after the natural filtration level-change map, expanded as a representative of r⁻¹ * q lying in the coarser principal-unit subgroup.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_eq_iff_exists_mem_inv_mul_repr
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q r : G ⧸ U.principalUnitSubgroup n) :
    U.quotient_principalUnitSubgroup_mapOfLe hmn q =
        U.quotient_principalUnitSubgroup_mapOfLe hmn r ↔
      ∃ x : G, x ∈ U.principalUnitSubgroup m ∧
        QuotientGroup.mk' (U.principalUnitSubgroup n) x = r⁻¹ * q
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mk_mem_classInQuotient_iff

Characterizes QuotientGroup.mk' (U.principalUnitSubgroup n) x ∈ U.principalUnitSubgroupClassInQuotient m n by the equivalent condition x ∈ U.principalUnitSubgroup m.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mk_mem_classInQuotient_iff
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x : G) :
    QuotientGroup.mk' (U.principalUnitSubgroup n) x ∈
        U.principalUnitSubgroupClassInQuotient m n ↔
      x ∈ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClassEquivQuotientOfLe

The third-isomorphism equivalence for principal-unit filtration quotients: (G / U^n) / (U^m / U^n) ≃ G / U^m when m ≤ n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
def quotientModuloPrincipalUnitClassEquivQuotientOfLe
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] :
    (G ⧸ U.principalUnitSubgroup n) ⧸
        U.principalUnitSubgroupClassInQuotient m n ≃*
      G ⧸ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClassEquivQuotientOfLe_mk

Establishes the identity U.quotientModuloPrincipalUnitClassEquivQuotientOfLe hmn (QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) q) = U.quotient_principalUnitSubgroup_mapOfLe hmn q.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClassEquivQuotientOfLe_mk
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q : G ⧸ U.principalUnitSubgroup n) :
    U.quotientModuloPrincipalUnitClassEquivQuotientOfLe hmn
        (QuotientGroup.mk'
          (U.principalUnitSubgroupClassInQuotient m n) q) =
      U.quotient_principalUnitSubgroup_mapOfLe hmn q
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClassEquivQuotientOfLe_mk_mk

Establishes the identity U.quotientModuloPrincipalUnitClassEquivQuotientOfLe hmn (QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) (QuotientGroup.mk' (U.principalUnitSubgroup n) x)) = QuotientGroup.mk' (U.principalUnitSubgroup m) x.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClassEquivQuotientOfLe_mk_mk
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x : G) :
    U.quotientModuloPrincipalUnitClassEquivQuotientOfLe hmn
        (QuotientGroup.mk'
          (U.principalUnitSubgroupClassInQuotient m n)
          (QuotientGroup.mk' (U.principalUnitSubgroup n) x)) =
      QuotientGroup.mk' (U.principalUnitSubgroup m) x
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClassEquivQuotientOfLe_symm_mk

Establishes the identity (U.quotientModuloPrincipalUnitClassEquivQuotientOfLe hmn).symm (QuotientGroup.mk' (U.principalUnitSubgroup m) x) = QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) (QuotientGroup.mk' (U.principalUnitSubgroup n) x).

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClassEquivQuotientOfLe_symm_mk
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x : G) :
    (U.quotientModuloPrincipalUnitClassEquivQuotientOfLe hmn).symm
        (QuotientGroup.mk' (U.principalUnitSubgroup m) x) =
      QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n)
        (QuotientGroup.mk' (U.principalUnitSubgroup n) x)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClass_mk_eq_one_iff

One criterion in the double quotient by the class of U^m in G ⧸ U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClass_mk_eq_one_iff
    (m n : ℕ)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q : G ⧸ U.principalUnitSubgroup n) :
    QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) q = 1 ↔
      q ∈ U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClass_mk_eq_one_iff_exists_mem_repr

One criterion in the double quotient, expanded as a representative in the coarser principal-unit subgroup.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClass_mk_eq_one_iff_exists_mem_repr
    (m n : ℕ)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q : G ⧸ U.principalUnitSubgroup n) :
    QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) q = 1 ↔
      ∃ x : G, x ∈ U.principalUnitSubgroup m ∧
        QuotientGroup.mk' (U.principalUnitSubgroup n) x = q
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClass_mk_mk_eq_one_iff

Characterizes QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) (QuotientGroup.mk' (U.principalUnitSubgroup n) x) = 1 by the equivalent condition x ∈ U.principalUnitSubgroup m.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClass_mk_mk_eq_one_iff
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x : G) :
    QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n)
        (QuotientGroup.mk' (U.principalUnitSubgroup n) x) = 1 ↔
      x ∈ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClass_mk_eq_iff_div_mem

Equality criterion in the double quotient by the class of U^m in G ⧸ U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClass_mk_eq_iff_div_mem
    (m n : ℕ)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q r : G ⧸ U.principalUnitSubgroup n) :
    QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) q =
        QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) r ↔
      q / r ∈ U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClass_mk_eq_iff_exists_mem_div_repr

Equality criterion in the double quotient, expanded as a representative of q / r lying in the coarser principal-unit subgroup.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClass_mk_eq_iff_exists_mem_div_repr
    (m n : ℕ)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q r : G ⧸ U.principalUnitSubgroup n) :
    QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) q =
        QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) r ↔
      ∃ x : G, x ∈ U.principalUnitSubgroup m ∧
        QuotientGroup.mk' (U.principalUnitSubgroup n) x = q / r
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClass_mk_eq_iff_inv_mul_mem

Equality criterion in the double quotient, in left-quotient form.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClass_mk_eq_iff_inv_mul_mem
    (m n : ℕ)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q r : G ⧸ U.principalUnitSubgroup n) :
    QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) q =
        QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) r ↔
      r⁻¹ * q ∈ U.principalUnitSubgroupClassInQuotient m n
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClass_mk_eq_iff_exists_mem_inv_mul_repr

Equality criterion in the double quotient, expanded as a representative of r⁻¹ * q lying in the coarser principal-unit subgroup.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClass_mk_eq_iff_exists_mem_inv_mul_repr
    (m n : ℕ)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    (q r : G ⧸ U.principalUnitSubgroup n) :
    QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) q =
        QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) r ↔
      ∃ x : G, x ∈ U.principalUnitSubgroup m ∧
        QuotientGroup.mk' (U.principalUnitSubgroup n) x = r⁻¹ * q
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClass_mk_mk_eq_iff_div_mem

Characterizes QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) (QuotientGroup.mk' (U.principalUnitSubgroup n) x) = QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) (QuotientGroup.mk' (U.principalUnitSubgroup n) y) by the equivalent condition x / y ∈ U.principalUnitSubgroup m.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClass_mk_mk_eq_iff_div_mem
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x y : G) :
    QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n)
        (QuotientGroup.mk' (U.principalUnitSubgroup n) x) =
      QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n)
        (QuotientGroup.mk' (U.principalUnitSubgroup n) y) ↔
      x / y ∈ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotientModuloPrincipalUnitClass_mk_mk_eq_iff_inv_mul_mem

Characterizes QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) (QuotientGroup.mk' (U.principalUnitSubgroup n) x) = QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n) (QuotientGroup.mk' (U.principalUnitSubgroup n) y) by the equivalent condition y⁻¹ * x ∈ U.principalUnitSubgroup m.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotientModuloPrincipalUnitClass_mk_mk_eq_iff_inv_mul_mem
    {m n : ℕ} (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal] (x y : G) :
    QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n)
        (QuotientGroup.mk' (U.principalUnitSubgroup n) x) =
      QuotientGroup.mk' (U.principalUnitSubgroupClassInQuotient m n)
        (QuotientGroup.mk' (U.principalUnitSubgroup n) y) ↔
      y⁻¹ * x ∈ U.principalUnitSubgroup m
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_comp

The natural maps between filtration quotients compose as expected.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_comp
    {k m n : ℕ} (hkm : k ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    [(U.principalUnitSubgroup k).Normal] :
    (U.quotient_principalUnitSubgroup_mapOfLe hkm).comp
        (U.quotient_principalUnitSubgroup_mapOfLe hmn) =
      U.quotient_principalUnitSubgroup_mapOfLe (le_trans hkm hmn)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.quotient_principalUnitSubgroup_mapOfLe_refl

The level-change map for n ≤ n is the identity.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem quotient_principalUnitSubgroup_mapOfLe_refl
    (n : ℕ) [(U.principalUnitSubgroup n).Normal] :
    U.quotient_principalUnitSubgroup_mapOfLe (le_rfl : n ≤ n) =
      MonoidHom.id (G ⧸ U.principalUnitSubgroup n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitSubgroupClassInQuotient_refl_eq_bot

The class of U^n in G/U^n is trivial.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitSubgroupClassInQuotient_refl_eq_bot
    (n : ℕ) [(U.principalUnitSubgroup n).Normal] :
    U.principalUnitSubgroupClassInQuotient n n = ⊥
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitClassMapOfLe_refl

The restricted level-change map for n ≤ n is the identity on U^l/U^n.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitClassMapOfLe_refl
    {l n : ℕ} (hln : l ≤ n) [(U.principalUnitSubgroup n).Normal] :
    U.principalUnitClassMapOfLe hln (le_rfl : n ≤ n) =
      MonoidHom.id (U.principalUnitSubgroupClassInQuotient l n)
LocalFieldTheory.DiscreteValuationField.AntitoneSubgroupFiltration.principalUnitClassMapOfLe_comp

Restricted principal-unit class maps compose transitively.

Source context 6 commands

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

namespace LocalFieldTheory
universe u v
open scoped BigOperators
namespace DiscreteValuationField
namespace AntitoneSubgroupFiltration
variable {G : Type u} [Group G] (U : AntitoneSubgroupFiltration G)
theorem principalUnitClassMapOfLe_comp
    {k l m n : ℕ} (hkl : k ≤ l) (hlm : l ≤ m) (hmn : m ≤ n)
    [(U.principalUnitSubgroup n).Normal]
    [(U.principalUnitSubgroup m).Normal]
    [(U.principalUnitSubgroup l).Normal] :
    (U.principalUnitClassMapOfLe hkl hlm).comp
        (U.principalUnitClassMapOfLe (le_trans hkl hlm) hmn) =
      U.principalUnitClassMapOfLe hkl (le_trans hlm hmn)