Module

EmptySupportCohomologicalH1KernelDual.lean

Nyll.SawinTotallyRealTowers.UnramifiedProPRelationRank.Radical.EmptySupportCohomologicalH1KernelDual
13 declarations indexed from sourceView source ↗

The kernel-dual model of the self-dual cohomological cokernel

Dualizing the global-to-local ramified-character map and taking its cokernel is canonically equivalent to the dual of the kernel of the original map. Thus a subsequent self-dual arithmetic comparison can be reduced to identifying the corresponding primal kernels.

As in EmptySupportCohomologicalH1Cokernel, this is an intermediate self-dual F_p model. The general arithmetic B_∅ uses the Tate-dual coefficient μ_p; connecting the two models remains a separate local Tate/Kummer comparison.

Declarations

ClassFieldTower.Martinet.Shafarevich.dualRange_eq_ker_kernelDualRestriction
Source context 5 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
theorem dualRange_eq_ker_kernelDualRestriction
    {q : ℕ} [Fact q.Prime]
    {V W : Type*}
    [AddCommGroup V] [Module (ZMod q) V]
    [AddCommGroup W] [Module (ZMod q) W]
    (f : V →ₗ[ZMod q] W) :
    LinearMap.range f.dualMap =
      LinearMap.ker (LinearMap.ker f).subtype.dualMap
ClassFieldTower.Martinet.Shafarevich.emptySupportCohomologicalKernelZModAddCommGroup
Source context 7 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p)
ClassFieldTower.Martinet.Shafarevich.emptySupportCohomologicalKernelH1Module
Source context 8 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H))
ClassFieldTower.Martinet.Shafarevich.finitePlaceRamifiedCharacterQuotientAddCommGroup
Source context 9 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H)) :=
  continuousH1ZModModule
instance finitePlaceRamifiedCharacterQuotientAddCommGroup
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    AddCommGroup (FinitePlaceRamifiedCharacterQuotient F p v)
ClassFieldTower.Martinet.Shafarevich.finitePlaceRamifiedCharacterQuotientModule
Source context 10 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H)) :=
  continuousH1ZModModule
local instance finitePlaceRamifiedCharacterQuotientAddCommGroup
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    AddCommGroup (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isAddCommGroup
instance finitePlaceRamifiedCharacterQuotientModule
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    Module (ZMod p) (FinitePlaceRamifiedCharacterQuotient F p v)
ClassFieldTower.Martinet.Shafarevich.EmptySupportCohomologicalH1Kernel

Global continuous characters whose restriction at every finite place is unramified.

Source context 11 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H)) :=
  continuousH1ZModModule
local instance finitePlaceRamifiedCharacterQuotientAddCommGroup
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    AddCommGroup (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isAddCommGroup
local instance finitePlaceRamifiedCharacterQuotientModule
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    Module (ZMod p) (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isModule
abbrev EmptySupportCohomologicalH1Kernel : ModuleCat (ZMod p)
ClassFieldTower.Martinet.Shafarevich.emptySupportCohomologicalH1KernelInclusion

Inclusion of the empty-support cohomological kernel into global absolute characters.

Source context 11 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H)) :=
  continuousH1ZModModule
local instance finitePlaceRamifiedCharacterQuotientAddCommGroup
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    AddCommGroup (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isAddCommGroup
local instance finitePlaceRamifiedCharacterQuotientModule
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    Module (ZMod p) (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isModule
def emptySupportCohomologicalH1KernelInclusion :
    EmptySupportCohomologicalH1Kernel F p →ₗ[ZMod p]
      absoluteContinuousZModCharacterModP F p
ClassFieldTower.Martinet.Shafarevich.emptySupportCohomologicalH1KernelInclusion_apply
Source context 11 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H)) :=
  continuousH1ZModModule
local instance finitePlaceRamifiedCharacterQuotientAddCommGroup
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    AddCommGroup (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isAddCommGroup
local instance finitePlaceRamifiedCharacterQuotientModule
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    Module (ZMod p) (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isModule
theorem emptySupportCohomologicalH1KernelInclusion_apply
    (x : EmptySupportCohomologicalH1Kernel F p) :
    emptySupportCohomologicalH1KernelInclusion F p x = x.1
ClassFieldTower.Martinet.Shafarevich.emptySupportCohomologicalH1KernelDualRestriction

Restriction of global-character functionals to the empty-support cohomological kernel.

Source context 11 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H)) :=
  continuousH1ZModModule
local instance finitePlaceRamifiedCharacterQuotientAddCommGroup
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    AddCommGroup (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isAddCommGroup
local instance finitePlaceRamifiedCharacterQuotientModule
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    Module (ZMod p) (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isModule
def emptySupportCohomologicalH1KernelDualRestriction :
    Module.Dual (ZMod p) (absoluteContinuousZModCharacterModP F p) →ₗ[ZMod p]
      Module.Dual (ZMod p) (EmptySupportCohomologicalH1Kernel F p)
ClassFieldTower.Martinet.Shafarevich.emptySupportCohomologicalH1KernelDualRestriction_surjective

Every functional on the cohomological kernel extends to the full global-character space.

Source context 11 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H)) :=
  continuousH1ZModModule
local instance finitePlaceRamifiedCharacterQuotientAddCommGroup
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    AddCommGroup (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isAddCommGroup
local instance finitePlaceRamifiedCharacterQuotientModule
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    Module (ZMod p) (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isModule
theorem emptySupportCohomologicalH1KernelDualRestriction_surjective :
    Function.Surjective (emptySupportCohomologicalH1KernelDualRestriction F p)
ClassFieldTower.Martinet.Shafarevich.finitePlaceAbsoluteH1RamifiedQuotientFamilyDual_range

The dual global-to-local range is exactly the kernel of restriction to the cohomological kernel.

Source context 11 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H)) :=
  continuousH1ZModModule
local instance finitePlaceRamifiedCharacterQuotientAddCommGroup
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    AddCommGroup (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isAddCommGroup
local instance finitePlaceRamifiedCharacterQuotientModule
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    Module (ZMod p) (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isModule
theorem finitePlaceAbsoluteH1RamifiedQuotientFamilyDual_range :
    LinearMap.range (finitePlaceAbsoluteH1RamifiedQuotientFamilyDual F p) =
      LinearMap.ker (emptySupportCohomologicalH1KernelDualRestriction F p)
ClassFieldTower.Martinet.Shafarevich.emptySupportCohomologicalH1CokernelEquivKernelDual

The cohomological empty-support cokernel is canonically the dual of the kernel of the primal global-to-local ramified-character map.

Source context 11 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H)) :=
  continuousH1ZModModule
local instance finitePlaceRamifiedCharacterQuotientAddCommGroup
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    AddCommGroup (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isAddCommGroup
local instance finitePlaceRamifiedCharacterQuotientModule
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    Module (ZMod p) (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isModule
def emptySupportCohomologicalH1CokernelEquivKernelDual :
    EmptySupportCohomologicalH1Cokernel F p ≃ₗ[ZMod p]
      Module.Dual (ZMod p) (EmptySupportCohomologicalH1Kernel F p)
ClassFieldTower.Martinet.Shafarevich.emptySupportCohomologicalH1CokernelEquivKernelDual_mk
Source context 11 commands

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

open NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance emptySupportCohomologicalKernelZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance emptySupportCohomologicalKernelH1Module
    {q : ℕ} {H : Type*} [Group H] [TopologicalSpace H] [IsTopologicalGroup H] :
    Module (ZMod q) (ContinuousH1ZMod (p := q) (G := H)) :=
  continuousH1ZModModule
local instance finitePlaceRamifiedCharacterQuotientAddCommGroup
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    AddCommGroup (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isAddCommGroup
local instance finitePlaceRamifiedCharacterQuotientModule
    (v : HeightOneSpectrum (NumberField.RingOfIntegers F)) :
    Module (ZMod p) (FinitePlaceRamifiedCharacterQuotient F p v) :=
  (FinitePlaceRamifiedCharacterQuotient F p v).isModule
theorem emptySupportCohomologicalH1CokernelEquivKernelDual_mk
    (phi : Module.Dual (ZMod p) (absoluteContinuousZModCharacterModP F p)) :
    emptySupportCohomologicalH1CokernelEquivKernelDual F p
        (Submodule.Quotient.mk phi) =
      emptySupportCohomologicalH1KernelDualRestriction F p phi