Module

Quotient.lean

Nyll.ValuedFieldTheory.Ramification.Herbrand.Quotient
25 declarations indexed from sourceView source ↗

Pure group theory for Herbrand towers

This file contains the completion-free finite-group bookkeeping used in the Herbrand quotient theorem and the quotient and tower filtration theorems. It packages the filtrations induced on a subgroup and on its quotient image, proves the exact cardinality factorization at every level, and records compatibility of Herbrand functions with transport along group equivalences.

The valued-field inputs of the quotient-depth and upper-numbering identities do not occur here. Valued-field endpoints combine these structural lemmas with ramification-number averaging; the inverse-function and upper-numbering statements are proved directly in the Hilbert-ramification Herbrand theorem module.

Declarations

RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.subgroupFiltration

The filtration induced on a subgroup by intersection with every ambient lower group.

Source context 5 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
def subgroupFiltration (F : AntitoneNormalSubgroupFiltration G) (H : Subgroup G) :
    AntitoneNormalSubgroupFiltration H where
  lower n := (F.lower n).comap H.subtype
  lower_normal n := (F.lower_normal n).comap H.subtype
  antitone := by
    intro m n hmn
    exact Subgroup.comap_mono (F.antitone hmn)
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.subgroupFiltration_lower

States the theorem subgroupFiltration_lower.

Source context 5 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
theorem subgroupFiltration_lower
    (F : AntitoneNormalSubgroupFiltration G) (H : Subgroup G) (n : ℕ) :
    (subgroupFiltration F H).lower n = (F.lower n).comap H.subtype
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.mem_subgroupFiltration_lower_iff

States the theorem mem_subgroupFiltration_lower_iff.

Source context 5 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
theorem mem_subgroupFiltration_lower_iff
    (F : AntitoneNormalSubgroupFiltration G) (H : Subgroup G)
    (n : ℕ) (h : H) :
    h ∈ (subgroupFiltration F H).lower n ↔ (h : G) ∈ F.lower n
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.quotientImageFiltration

The pointwise image filtration on a quotient by a normal subgroup. This is not asserted to be the actual lower filtration of a valued quotient; that identification is precisely the content supplied by Herbrand's theorem.

Source context 5 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
def quotientImageFiltration (F : AntitoneNormalSubgroupFiltration G)
    (H : Subgroup G) [H.Normal] :
    AntitoneNormalSubgroupFiltration (G ⧸ H) where
  lower n := (F.lower n).map (QuotientGroup.mk' H)
  lower_normal n := (F.lower_normal n).map
    (QuotientGroup.mk' H) (QuotientGroup.mk'_surjective H)
  antitone := by
    intro m n hmn
    exact Subgroup.map_mono (F.antitone hmn)
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.quotientImageFiltration_lower

States the theorem quotientImageFiltration_lower.

Source context 5 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
theorem quotientImageFiltration_lower
    (F : AntitoneNormalSubgroupFiltration G) (H : Subgroup G) [H.Normal]
    (n : ℕ) :
    (quotientImageFiltration F H).lower n =
      (F.lower n).map (QuotientGroup.mk' H)
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.lowerToQuotientImageHom

At each level, the subgroup filtration is the kernel of the quotient map restricted to the corresponding ambient lower group.

Source context 5 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
def lowerToQuotientImageHom (F : AntitoneNormalSubgroupFiltration G)
    (H : Subgroup G) [H.Normal] (n : ℕ) :
    F.lower n →* (quotientImageFiltration F H).lower n where
  toFun sigma :=
    ⟨QuotientGroup.mk' H (sigma : G), ⟨sigma, sigma.property, rfl⟩⟩
  map_one' := by
    apply Subtype.ext
    simp
  map_mul' sigma tau := by
    apply Subtype.ext
    change QuotientGroup.mk' H (((sigma * tau : F.lower n) : G)) =
      QuotientGroup.mk' H (sigma : G) * QuotientGroup.mk' H (tau : G)
    rw [show (((sigma * tau : F.lower n) : G)) =
      (sigma : G) * (tau : G) by rfl, map_mul]
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.lowerToQuotientImageHom_surjective

States the theorem lowerToQuotientImageHom_surjective.

Source context 5 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
theorem lowerToQuotientImageHom_surjective
    (F : AntitoneNormalSubgroupFiltration G)
    (H : Subgroup G) [H.Normal] (n : ℕ) :
    Function.Surjective (lowerToQuotientImageHom F H n)
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.lowerToQuotientImageKerEquiv

The kernel of the restricted quotient map is canonically the intersection filtration on H.

Source context 5 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
def lowerToQuotientImageKerEquiv (F : AntitoneNormalSubgroupFiltration G)
    (H : Subgroup G) [H.Normal] (n : ℕ) :
    (lowerToQuotientImageHom F H n).ker ≃
      (subgroupFiltration F H).lower n where
  toFun sigma := by
    let sigmaLower : F.lower n := sigma
    have hmk : QuotientGroup.mk' H ((sigma : F.lower n) : G) = 1 := by
      exact congrArg Subtype.val sigma.property
    have hsigmaH : ((sigma : F.lower n) : G) ∈ H :=
      (QuotientGroup.eq_one_iff (N := H)
        (x := ((sigma : F.lower n) : G))).1 hmk
    exact ⟨⟨((sigma : F.lower n) : G), hsigmaH⟩, sigmaLower.property⟩
  invFun h := by
    refine ⟨⟨((h : H) : G), h.property⟩, ?_⟩
    apply Subtype.ext
    exact (QuotientGroup.eq_one_iff (N := H) (x := ((h : H) : G))).2 h.val.property
  left_inv sigma := by
    apply Subtype.ext
    apply Subtype.ext
    rfl
  right_inv h := by
    apply Subtype.ext
    apply Subtype.ext
    rfl
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.card_subgroupFiltration_mul_card_quotientImageFiltration

Exact level-cardinality factorization |F_n| = |F_n ∩ H| * |image(F_n)|.

Source context 5 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
theorem card_subgroupFiltration_mul_card_quotientImageFiltration
    [Finite G] (F : AntitoneNormalSubgroupFiltration G)
    (H : Subgroup G) [H.Normal] (n : ℕ) :
    Nat.card ((subgroupFiltration F H).lower n) *
        Nat.card ((quotientImageFiltration F H).lower n) =
      Nat.card (F.lower n)
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.transportEquiv

Transport a lower ramification filtration across a group equivalence.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
def transportEquiv (F : AntitoneNormalSubgroupFiltration G) (e : G ≃* G') :
    AntitoneNormalSubgroupFiltration G' where
  lower n := (F.lower n).comap e.symm.toMonoidHom
  lower_normal n := (F.lower_normal n).comap e.symm.toMonoidHom
  antitone := by
    intro m n hmn
    exact Subgroup.comap_mono (F.antitone hmn)
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.transportEquiv_lower

States the theorem transportEquiv_lower.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
theorem transportEquiv_lower
    (F : AntitoneNormalSubgroupFiltration G) (e : G ≃* G') (n : ℕ) :
    (transportEquiv F e).lower n =
      (F.lower n).comap e.symm.toMonoidHom
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.mem_transportEquiv_lower_iff

States the theorem mem_transportEquiv_lower_iff.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
theorem mem_transportEquiv_lower_iff
    (F : AntitoneNormalSubgroupFiltration G) (e : G ≃* G')
    (n : ℕ) (sigma : G') :
    sigma ∈ (transportEquiv F e).lower n ↔ e.symm sigma ∈ F.lower n
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.lowerEquivTransportEquiv

Every integral level is carried to the corresponding transported level.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
def lowerEquivTransportEquiv
    (F : AntitoneNormalSubgroupFiltration G) (e : G ≃* G') (n : ℕ) :
    F.lower n ≃ (transportEquiv F e).lower n where
  toFun sigma := ⟨e (sigma : G), by simp⟩
  invFun tau := ⟨e.symm (tau : G'), tau.property⟩
  left_inv sigma := by
    apply Subtype.ext
    simp
  right_inv tau := by
    apply Subtype.ext
    simp
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.card_lower_transportEquiv

States the theorem card_lower_transportEquiv.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
theorem card_lower_transportEquiv
    [Finite G] [Finite G']
    (F : AntitoneNormalSubgroupFiltration G) (e : G ≃* G') (n : ℕ) :
    Nat.card ((transportEquiv F e).lower n) = Nat.card (F.lower n)
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.herbrandFunction_transportEquiv

The Herbrand function is invariant under transport across a group equivalence.

Source context 7 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
open _root_.RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration (
  herbrandFunction
  herbrandFunction_eq_of_card_lower_eq
) in
theorem herbrandFunction_transportEquiv
    [Finite G] [Finite G']
    (F : AntitoneNormalSubgroupFiltration G) (e : G ≃* G') (s : ℝ) :
    (herbrandFunction (transportEquiv F e)) s = (herbrandFunction F) s
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.inverseHerbrandFunction_transportEquiv

The inverse Herbrand function is invariant under transport across a group equivalence.

Source context 7 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
open _root_.RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration (
  herbrandFunction_inverseHerbrandFunction
  herbrandFunction_strictMono
  herbrandFunction_transportEquiv
  inverseHerbrandFunction
) in
theorem inverseHerbrandFunction_transportEquiv
    [Finite G] [Finite G']
    (F : AntitoneNormalSubgroupFiltration G) (e : G ≃* G') (t : ℝ) :
    (inverseHerbrandFunction (transportEquiv F e)) t = (inverseHerbrandFunction F) t
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.quotientImageTransport

The quotient-image filtration, transported to any isomorphic model of the quotient group.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
def quotientImageTransport
    (F : AntitoneNormalSubgroupFiltration G) (H : Subgroup G) [H.Normal]
    (e : (G ⧸ H) ≃* G') : AntitoneNormalSubgroupFiltration G'
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.quotientImageTransport_lower

States the theorem quotientImageTransport_lower.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
theorem quotientImageTransport_lower
    (F : AntitoneNormalSubgroupFiltration G) (H : Subgroup G) [H.Normal]
    (e : (G ⧸ H) ≃* G') (n : ℕ) :
    (quotientImageTransport F H e).lower n =
      ((F.lower n).map (QuotientGroup.mk' H)).comap e.symm.toMonoidHom
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.subgroup_map_equiv_eq_iff_eq_comap

Mapping a subgroup across a group equivalence is inverse to pulling it back. This orientation is the one used by the fixed-field quotient map.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
theorem subgroup_map_equiv_eq_iff_eq_comap
    (e : G ≃* G') (A : Subgroup G) (B : Subgroup G') :
    A.map e.toMonoidHom = B ↔
      A = B.comap e.toMonoidHom
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.transportEquiv_lower_eq_map

States the theorem transportEquiv_lower_eq_map.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
theorem transportEquiv_lower_eq_map
    (F : AntitoneNormalSubgroupFiltration G) (e : G ≃* G') (n : ℕ) :
    (transportEquiv F e).lower n = (F.lower n).map e.toMonoidHom
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.transportEquiv_lower_eq_iff

States the theorem transportEquiv_lower_eq_iff.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
theorem transportEquiv_lower_eq_iff
    (F : AntitoneNormalSubgroupFiltration G) (e : G ≃* G')
    (n : ℕ) (B : Subgroup G') :
    (transportEquiv F e).lower n = B ↔
      F.lower n = B.comap e.toMonoidHom
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.quotientImageTransport_lower_eq_iff

Equality with a transported quotient-image level is exactly the usual map/comap formulation of a lower-quotient theorem.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
theorem quotientImageTransport_lower_eq_iff
    (F : AntitoneNormalSubgroupFiltration G) (H : Subgroup G) [H.Normal]
    (e : (G ⧸ H) ≃* G') (n : ℕ) (B : Subgroup G') :
    (quotientImageTransport F H e).lower n = B ↔
      (F.lower n).map (QuotientGroup.mk' H) =
        B.comap e.toMonoidHom
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.card_subgroupFiltration_mul_card_quotientImageTransport

Exact level-cardinality factorization after replacing the abstract quotient by any isomorphic group model.

Source context 6 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
theorem card_subgroupFiltration_mul_card_quotientImageTransport
    [Finite G] [Finite G'] (F : AntitoneNormalSubgroupFiltration G)
    (H : Subgroup G) [H.Normal] (e : (G ⧸ H) ≃* G') (n : ℕ) :
    Nat.card ((subgroupFiltration F H).lower n) *
        Nat.card ((quotientImageTransport F H e).lower n) =
      Nat.card (F.lower n)
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.quotientImageTransport_herbrandFunction

States the theorem quotientImageTransport_herbrandFunction.

Source context 7 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
open _root_.RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration (
  herbrandFunction
) in
theorem quotientImageTransport_herbrandFunction
    [Finite G] [Finite G']
    (F : AntitoneNormalSubgroupFiltration G) (H : Subgroup G) [H.Normal]
    (e : (G ⧸ H) ≃* G') (s : ℝ) :
    (herbrandFunction (quotientImageTransport F H e)) s =
      (herbrandFunction (quotientImageFiltration F H)) s
RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration.quotientImageTransport_inverseHerbrandFunction

States the theorem quotientImageTransport_inverseHerbrandFunction.

Source context 7 commands

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

noncomputable section
universe u v
namespace RamificationTheory.DiscreteValuationField
namespace AntitoneNormalSubgroupFiltration
variable {G : Type u} [Group G]
variable {G' : Type v} [Group G']
open _root_.RamificationTheory.DiscreteValuationField.AntitoneNormalSubgroupFiltration (
  inverseHerbrandFunction
) in
theorem quotientImageTransport_inverseHerbrandFunction
    [Finite G] [Finite G']
    (F : AntitoneNormalSubgroupFiltration G) (H : Subgroup G) [H.Normal]
    (e : (G ⧸ H) ≃* G') (t : ℝ) :
    (inverseHerbrandFunction (quotientImageTransport F H e)) t =
      (inverseHerbrandFunction (quotientImageFiltration F H)) t