ModuleFinitePadicCyclicData.lean
Nyll.ClassFieldTheory.GlobalClassFieldTheory.Reciprocity.LocalGlobalArtinCompatibility.FinitePadicCyclicData
33 declarations indexed from sourceView source ↗ Module documentation
Finite p-adic cyclic data for local-global Artin compatibility
This module packages the simultaneous finite-quotient and cyclotomic coordinates and the corresponding abstract auxiliary subextension.
Declarations
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
GlobalClassFieldTheory.Reciprocity.numberFieldTowerExtensionNormal
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
GlobalClassFieldTheory.Reciprocity.finitePadicTowerExtensionQuotientFinite
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
GlobalClassFieldTheory.Reciprocity.numberFieldTowerExtensionQuotientIsMulCommutative
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
GlobalClassFieldTheory.Reciprocity.numberFieldTowerBaseSubgroupCompactSpace
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
GlobalClassFieldTheory.Reciprocity.continuousSubgroupSubtype
DocumentationInclusion of a subgroup equipped with its subtype topology.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFiniteQuotientCoordinate
DocumentationThe finite quotient coordinate on the compatible embedded copy of the absolute Galois group of K.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.rationalSeparableClosurePadicCyclotomicDegree
DocumentationThe genuine p-adic cyclotomic degree on the rational absolute Galois group.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.rationalSeparableClosurePadicCyclotomicDegree_ker
DocumentationThe kernel of the absolute p-adic cyclotomic degree is exactly the fixing subgroup of the actual p-primary cyclotomic field in the rational separable closure.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerBaseSubgroupPadicCyclotomicDegree
DocumentationThe genuine rational cyclotomic p-adic degree restricted to the compatible embedded copy of the absolute Galois group of K.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCoordinate
DocumentationThe simultaneous finite-extension and cyclotomic p-adic coordinate on the compatible absolute Galois group of K.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicImage
DocumentationThe actual image of the simultaneous finite and p-adic cyclotomic coordinate, as a closed subgroup of the product.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicImageDegree
DocumentationThe p-adic degree on the actual simultaneous-coordinate image is its second projection.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicImageDegree_ker_finite
DocumentationThe kernel of the p-adic degree on the simultaneous-coordinate image is finite: its first projection injects it into the finite Galois quotient.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicRangeRestriction
DocumentationThe simultaneous coordinate with codomain restricted to its actual closed image.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicImageDegree_rangeRestriction_apply
DocumentationThe degree projection of the restricted simultaneous coordinate is the original cyclotomic degree. Keeping this pointwise boundary avoids unfolding the closed-image package in downstream proofs.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicRangeRestriction_surjective
DocumentationRestriction to the actual simultaneous-coordinate image is surjective.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicPreimage
DocumentationThe inverse image in the compatible absolute Galois group of the closed cyclic subgroup generated by one simultaneous finite/p-adic coordinate.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicPreimage_normal
DocumentationThe simultaneous finite/cyclotomic coordinate has abelian image, so the inverse image of the closed cyclic subgroup generated by one coordinate is normal in the compatible absolute Galois group of K.
Consequently, the auxiliary fixed field constructed below is Galois over the embedded copy of K, as in the field diagram of the finite-place reduction.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicPreimage_isOpen
DocumentationA lift with nontrivial p-adic degree generates an open cyclic preimage in the compatible absolute Galois group.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicImageDegree_injective
DocumentationFor a lift whose finite coordinate is p-primary and whose cyclotomic degree is a positive integer, the p-adic degree is injective on its actual closed cyclic image.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicPreimage_inf_padicKernel_le_extensionSubgroup
DocumentationOn a positive-degree lift with p-primary finite coordinate, the intersection of its cyclic preimage with the cyclotomic p-adic kernel already fixes L.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicFixedSubgroup
DocumentationThe cyclic preimage, embedded back into the rational absolute Galois group. Its fixed field is the concrete auxiliary number field used in the finite-place reduction.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicFixedSubgroup_generator_mem
DocumentationThe distinguished simultaneous finite/cyclotomic lift itself lies in the auxiliary subgroup whose fixed field is used for descent.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicFixedSubgroup_le_baseSubgroup
DocumentationThe auxiliary cyclic fixed subgroup lies in the subgroup fixing the compatible embedded copy of K.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicFixedSubgroup_extension_normal
DocumentationThe auxiliary fixed field is Galois over the compatible embedded copy of K. On subgroup coordinates this is normality of the embedded cyclic-preimage subgroup inside the base fixing subgroup.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicFixedSubgroup_extensionSubgroup
DocumentationThe relative subgroup defined by the ambient auxiliary fixed subgroup is exactly the original cyclic preimage inside the compatible absolute Galois group of K.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicFixedSubgroup_inf_absolutePadicKernel_le_topSubgroup
DocumentationAmbient form of the kernel-intersection statement.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicFixedSubgroup_isOpen
DocumentationA nonzero-degree cyclic lift cuts out an open subgroup of the rational absolute Galois group.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicGaloisSubextension
DocumentationThe auxiliary cyclic fixed subgroup as a genuine finite Galois subextension of the compatible abstract field attached to K.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicAuxiliaryAbstractField
DocumentationThe auxiliary fixed subgroup, with its absolute finite-index witness, as the finite abstract field used by fixed-field global reciprocity.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicAuxiliaryCompositumSubextension
DocumentationBase change of L / K to the auxiliary cyclic fixed field. Its top subgroup is the intersection of the auxiliary fixing subgroup with the subgroup fixing L, hence its concrete top field is the auxiliary compositum with L.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicAuxiliaryCompositumSubextension_isUnramified
DocumentationThe auxiliary compositum is unramified for the genuine cyclotomic degree datum. The proof is the key p-primary intersection: full cyclotomic inertia lies in every p-adic cyclotomic kernel, and the latter intersection already fixes L.
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
local instance (p : Nat.Primes) : Fact p.1.Prime :=
⟨p.2⟩
local instance numberFieldTowerExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicTowerExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance numberFieldTowerExtensionQuotientIsMulCommutative :
IsMulCommutative
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) := by
let e :
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) ≃*
Gal(L / K) :=
numberFieldTowerExtensionQuotientEquivGaloisGroup K L
exact
{ is_comm :=
⟨fun x y => by
apply e.injective
rw [map_mul, map_mul]
exact
(inferInstance :
IsMulCommutative (Gal(L / K))).is_comm.comm
(e x) (e y)⟩ }
local instance numberFieldTowerBaseSubgroupCompactSpace :
CompactSpace
(numberFieldTowerBaseSubgroup K L).toSubgroup :=
isCompact_iff_compactSpace.mp
(numberFieldTowerBaseSubgroup K L).isClosed'.isCompact