Module

NormTopology.lean

Nyll.ClassFieldTheory.AbstractClassFieldTheory.Reciprocity.NormTopology
25 declarations indexed from sourceView source ↗

Abstract reciprocity: the norm topology

The neighbourhood basis at zero consists literally of the norm subgroups N_{L/K} A_L as L / K ranges over finite Galois extensions. Composita make this family downward directed.

Declarations

ClassFormation.FiniteGaloisSubextension.normSubgroup

The actual norm subgroup belonging to a packaged finite Galois extension.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
def normSubgroup (A : Rep ℤ G) (L : FiniteGaloisSubextension K) :
    AddSubgroup (ambientFixedAddSubgroup A K)
ClassFormation.FiniteGaloisSubextension.normSubgroup_compositum_le_left

Proves the bound normSubgroup A (L₁.compositum L₂) ≤ normSubgroup A L₁.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
theorem normSubgroup_compositum_le_left
    (A : Rep ℤ G) (L₁ L₂ : FiniteGaloisSubextension K) :
    normSubgroup A (L₁.compositum L₂) ≤ normSubgroup A L₁
ClassFormation.FiniteGaloisSubextension.normSubgroup_compositum_le_right

Proves the bound normSubgroup A (L₁.compositum L₂) ≤ normSubgroup A L₂.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
theorem normSubgroup_compositum_le_right
    (A : Rep ℤ G) (L₁ L₂ : FiniteGaloisSubextension K) :
    normSubgroup A (L₁.compositum L₂) ≤ normSubgroup A L₂
ClassFormation.normFilterBasis

The additive-group filter basis formed by all finite Galois norm subgroups.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def normFilterBasis (A : Rep ℤ G) (K : ClosedSubgroup G) :
    AddGroupFilterBasis (ambientFixedAddSubgroup A K)
ClassFormation.normTopology

The norm topology: norm subgroups form a basis at zero.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def normTopology (A : Rep ℤ G) (K : ClosedSubgroup G) :
    TopologicalSpace (ambientFixedAddSubgroup A K)
ClassFormation.WithNormTopology

The fixed subgroup with its norm topology recorded in the type. This is the public carrier model for norm-topological statements; choosing the norm topology no longer mutates the topology instance of the underlying group.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def WithNormTopology (A : Rep ℤ G) (K : ClosedSubgroup G) : Type _
ClassFormation.withNormTopology.instTopologicalSpace

Installs the norm topology on the WithNormTopology carrier.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
instance withNormTopology.instTopologicalSpace
    (A : Rep ℤ G) (K : ClosedSubgroup G) :
    TopologicalSpace (WithNormTopology A K)
ClassFormation.withNormTopology.instAddCommGroup

Transports the additive commutative group structure to the WithNormTopology carrier.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
instance withNormTopology.instAddCommGroup
    (A : Rep ℤ G) (K : ClosedSubgroup G) :
    AddCommGroup (WithNormTopology A K)
ClassFormation.withNormTopologyEquiv

Forget the norm-topology wrapper without changing the underlying point.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def withNormTopologyEquiv (A : Rep ℤ G) (K : ClosedSubgroup G) :
    WithNormTopology A K ≃ ambientFixedAddSubgroup A K
ClassFormation.IsNormOpen

Openness in the norm topology, expressed through the type-level norm topology model.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def IsNormOpen (A : Rep ℤ G) (K : ClosedSubgroup G)
    (s : Set (ambientFixedAddSubgroup A K)) : Prop
ClassFormation.IsNormClosed

Closedness in the norm topology, expressed through the type-level norm topology model.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def IsNormClosed (A : Rep ℤ G) (K : ClosedSubgroup G)
    (s : Set (ambientFixedAddSubgroup A K)) : Prop
ClassFormation.IsNormHausdorff

Hausdorffness of the type-level norm-topology model.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def IsNormHausdorff (A : Rep ℤ G) (K : ClosedSubgroup G) : Prop
ClassFormation.IsContinuousFromNormTopology

Continuity from a norm-topological fixed subgroup to an explicitly topologized target.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def IsContinuousFromNormTopology
    (A : Rep ℤ G) (K : ClosedSubgroup G)
    {β : Type*} [TopologicalSpace β]
    (f : ambientFixedAddSubgroup A K → β) : Prop
ClassFormation.IsNormContinuous

Continuity between two fixed subgroups carrying their norm topologies.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def IsNormContinuous
    (A : Rep ℤ G) (L K : ClosedSubgroup G)
    (f : ambientFixedAddSubgroup A L → ambientFixedAddSubgroup A K) : Prop
ClassFormation.isNormOpen_iff_raw
Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
theorem isNormOpen_iff_raw
    (A : Rep ℤ G) (K : ClosedSubgroup G)
    (s : Set (ambientFixedAddSubgroup A K)) :
    IsNormOpen A K s ↔
      @IsOpen (ambientFixedAddSubgroup A K) (normTopology A K) s
ClassFormation.isNormClosed_iff_raw
Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
theorem isNormClosed_iff_raw
    (A : Rep ℤ G) (K : ClosedSubgroup G)
    (s : Set (ambientFixedAddSubgroup A K)) :
    IsNormClosed A K s ↔
      @IsClosed (ambientFixedAddSubgroup A K) (normTopology A K) s
ClassFormation.withNormTopologyHomeomorph
Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def withNormTopologyHomeomorph
    (A : Rep ℤ G) (K : ClosedSubgroup G) :
    @Homeomorph (WithNormTopology A K) (ambientFixedAddSubgroup A K)
      (inferInstance : TopologicalSpace (WithNormTopology A K))
      (normTopology A K)
ClassFormation.mem_normFilterBasis_iff

A set belongs to the defining filter basis exactly when it is one of the finite Galois norm subgroups.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
theorem mem_normFilterBasis_iff
    (A : Rep ℤ G) (K : ClosedSubgroup G)
    (U : Set (ambientFixedAddSubgroup A K)) :
    U ∈ normFilterBasis A K ↔
      ∃ L : FiniteGaloisSubextension K,
        U = (normSubgroup A L : Set (ambientFixedAddSubgroup A K))
ClassFormation.normTopology_addSubgroup_isOpen_iff

A subgroup is open in the norm topology exactly when it contains one finite Galois norm subgroup.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
theorem normTopology_addSubgroup_isOpen_iff
    (A : Rep ℤ G) (K : ClosedSubgroup G)
    (H : AddSubgroup (ambientFixedAddSubgroup A K)) :
    IsNormOpen A K H ↔
      ∃ L : FiniteGaloisSubextension K, normSubgroup A L ≤ H
ClassFormation.normSubgroup_isOpen

Every defining norm subgroup is open.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
theorem normSubgroup_isOpen
    (A : Rep ℤ G) (K : ClosedSubgroup G)
    (L : FiniteGaloisSubextension K) :
    IsNormOpen A K (normSubgroup A L)
ClassFormation.universalNormSubgroup

The subgroup of universal norms used in Hausdorffness of the norm topology.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
def universalNormSubgroup (A : Rep ℤ G) (K : ClosedSubgroup G) :
    AddSubgroup (ambientFixedAddSubgroup A K)
ClassFormation.mem_universalNormSubgroup_iff

Characterizes a ∈ universalNormSubgroup A K by the equivalent condition ∀ L : FiniteGaloisSubextension K, a ∈ normSubgroup A L.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
theorem mem_universalNormSubgroup_iff
    (A : Rep ℤ G) (K : ClosedSubgroup G)
    (a : ambientFixedAddSubgroup A K) :
    a ∈ universalNormSubgroup A K ↔
      ∀ L : FiniteGaloisSubextension K, a ∈ normSubgroup A L
ClassFormation.normTopology_hausdorff_raw
Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
theorem normTopology_hausdorff_raw
    (A : Rep ℤ G) (K : ClosedSubgroup G) :
    @T2Space (ambientFixedAddSubgroup A K) (normTopology A K) ↔
      universalNormSubgroup A K = ⊥
ClassFormation.normTopology_hausdorff

Hausdorffness of the norm topology: the norm-topology model is Hausdorff exactly when the universal norm subgroup is trivial.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
theorem normTopology_hausdorff
    (A : Rep ℤ G) (K : ClosedSubgroup G) :
    IsNormHausdorff A K ↔ universalNormSubgroup A K = ⊥
ClassFormation.normTopology_open_iff_closed_finiteIndex_of_finite_normQuotients

General norm-topology lemma: once every defining norm quotient is finite, openness is equivalent to closedness together with finite index. the norm-subgroup basis characterization supplies the finiteness premise from the abstract reciprocity theorem.

Source context 5 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
open FiniteGaloisSubextension
theorem normTopology_open_iff_closed_finiteIndex_of_finite_normQuotients
    (A : Rep ℤ G) (K : ClosedSubgroup G)
    (hfinite : ∀ L : FiniteGaloisSubextension K,
      Finite (ambientFixedAddSubgroup A K ⧸ normSubgroup A L))
    (H : AddSubgroup (ambientFixedAddSubgroup A K)) :
    IsNormOpen A K H ↔
      IsNormClosed A K H ∧
        Finite (ambientFixedAddSubgroup A K ⧸ H)