ModuleFinitePadicAuxiliaryField.lean
Nyll.ClassFieldTheory.GlobalClassFieldTheory.Reciprocity.LocalGlobalArtinCompatibility.FinitePadicAuxiliaryField
41 declarations indexed from sourceView source ↗ Declarations
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
variable
{K L : Type}
[Field K] [NumberField K]
[Field L] [NumberField L] [Algebra K L]
[FiniteDimensional K L] [IsAbelianGalois K L]
GlobalClassFieldTheory.Reciprocity.finitePadicAuxiliaryExtensionNormal
Source context 14 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
GlobalClassFieldTheory.Reciprocity.finitePadicAuxiliaryExtensionQuotientFinite
Source context 15 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
GlobalClassFieldTheory.Reciprocity.finitePadicAuxiliaryExtensionQuotientIsMulCommutative
Source context 16 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
GlobalClassFieldTheory.Reciprocity.numberFieldTowerFinitePadicCyclicFixedField
DocumentationThe concrete auxiliary fixed field attached to a simultaneous finite/cyclotomic lift.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicCyclicFixedField_finiteDimensional
DocumentationA nonzero-degree lift produces a genuine number field: its concrete fixed field is finite over ℚ.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerBaseField_le_finitePadicCyclicFixedField
DocumentationThe compatible embedded copy of K lies in every auxiliary cyclic fixed field.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryBaseEmbedding
DocumentationThe compatible embedding of the original base field into the genuine auxiliary fixed field.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryBaseEmbedding_coe
DocumentationCoercing the auxiliary base embedding recovers the fixed lower embedding into the rational separable closure.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerTopField_mem_finitePadicAuxiliaryTopField
DocumentationThe compatible copy of the original top field lies in the auxiliary compositum fixed field.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryTopEmbedding
DocumentationThe compatible embedding of the original top field into the auxiliary compositum fixed field.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryTopEmbedding_coe
DocumentationCoercing the auxiliary top embedding recovers the chosen top-field embedding into the rational separable closure.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryEmbedding_algebraMap
DocumentationThe compatible base and top embeddings form the actual base-change square inside the rational separable closure.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliary_baseAlgebra
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliary_baseRatScalarTower
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliary_topAlgebra
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliary_topRatScalarTower
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliary_originalBaseTopAlgebra
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliary_originalTopScalarTower
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliary_baseTopScalarTower
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryBase_isGalois
DocumentationThe genuine auxiliary fixed field is Galois over the original base field through the compatible embedding above.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliarySubgroupLift
DocumentationThe distinguished absolute lift, regarded as an element of the auxiliary base subgroup.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryAutomorphism
DocumentationThe actual automorphism of the auxiliary compositum induced by the distinguished simultaneous finite/cyclotomic lift.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryAutomorphism_apply_val
DocumentationOn the common separable closure, the auxiliary automorphism acts by the original distinguished ambient lift.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryAutomorphism_restriction
DocumentationRestricting the auxiliary automorphism through the actual base-change square recovers the finite quotient coordinate of the distinguished lift.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryBasePlaceExtension
DocumentationRestriction of the chosen separable-closure place to the genuine auxiliary base field. This is an exact extension of the original finite place of K, not merely an equivalent valuation.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryTopPlaceExtension
DocumentationRestriction of the same separable-closure place to the genuine auxiliary compositum. Its restriction to K agrees exactly with the original normalized finite absolute value.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryTopPlace_below
DocumentationThe centre of the restricted place on the auxiliary compositum lies above the centre of the same place on the auxiliary base field.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryTopPlace_automorphism_apply
DocumentationEvaluation of the distinguished auxiliary automorphism through the restricted top-field place. Isolating this coercion calculation prevents the whole decomposition-group proof from normalizing the fixed-field tower.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryAutomorphism_mem_topPlaceDecomposition
DocumentationThe distinguished auxiliary automorphism preserves the top-field place obtained by restricting the original separable-closure place.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryTopDecompositionGroup_eq_chosen
DocumentationThe restricted top-field place and the chosen extension above its centre have the same decomposition group.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.globalNormResidueMonoidHomOfEmbedding_norm_restriction_apply
DocumentationPointwise form of norm/restriction naturality. Keeping the function equality and its coercion normalization in this small declaration prevents the auxiliary-field witness construction below from repeatedly elaborating the full pair of composite homomorphisms.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicAuxiliaryLocalGlobalRepresentative
DocumentationThe auxiliary-field construction produces a lower local unit whose chosen local Artin value and global norm-residue value are both the finite quotient coordinate of the distinguished lift.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.exists_numberFieldTowerFinitePadicLift_of_finitePlace
DocumentationEvery genuine finite-place decomposition automorphism has a compatible embedded absolute lift with the same finite quotient class and positive integral cyclotomic p-adic degree.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFiniteQuotientCoordinate_generates_of_galoisGenerator
DocumentationGeneration of the actual finite Galois group transports back through the compatible finite quotient coordinate.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicCyclicPreimage_sup_extensionSubgroup_eq_top
DocumentationIf the finite quotient coordinate of a lift generates the whole finite Galois quotient, then its cyclic preimage together with the top-field subgroup generates the whole embedded absolute Galois group.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicCyclicFixedSubgroup_sup_topSubgroup
DocumentationAmbient form of the generation statement: the auxiliary cyclic fixed subgroup together with the subgroup fixing L generates the subgroup fixing K.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerFinitePadicCyclicFixedField_inf_topField
DocumentationThe concrete auxiliary fixed field is linearly disjoint from L over the compatible embedded copy of K.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.numberFieldTowerTopField_le_finitePadicCyclicFixedField_sup_padicCyclotomicField
DocumentationIf the finite quotient coordinate is p-primary, adjoining the actual rational p-primary cyclotomic field to the auxiliary fixed field contains the compatible copy of L.
This is the field-theoretic conclusion of the simultaneous finite/cyclotomic lift: the intersection of the two fixing subgroups already fixes L, hence their fixed-field compositum contains L.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.exists_finitePlaceCyclotomicAuxiliaryFixedField
DocumentationFor a finite-place automorphism generating Gal(L/K), construct the genuine auxiliary number field used in the cyclotomic reduction.
The field is finite over ℚ, contains the compatible copy of K, and has intersection with the compatible copy of L exactly equal to that copy of K. Its defining lift has the prescribed local restriction and positive integral cyclotomic p-adic degree.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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.exists_finitePlacePrimaryCyclotomicAuxiliaryFixedField
DocumentationA p-primary local generator admits a genuine auxiliary number field whose compositum with the rational p-primary cyclotomic field contains L.
Besides the field containment, the construction records the two properties needed for descent: the auxiliary field meets L exactly in K, and the chosen absolute lift has positive integral cyclotomic degree.
Source context 17 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
open AlgebraicNumberTheory IsDedekindDomain NumberField
open IdeleGroup RelativeIdeleGroup
open AlgebraicNumberTheory.Valuations
open HilbertRamification
open CyclicCohomology
open KummerTheory ClassFormation
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open GlobalClassFields
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⟩
attribute [local instance]
rationalSeparableClosureAlgebra
local instance finitePadicAuxiliaryExtensionNormal :
(extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)).Normal :=
numberFieldTowerExtensionSubgroup_normal K L
local instance finitePadicAuxiliaryExtensionQuotientFinite :
Finite
((numberFieldTowerBaseSubgroup K L).toSubgroup ⧸
extensionSubgroup
(numberFieldTowerBaseSubgroup K L)
(numberFieldTowerTopSubgroup L)
(numberFieldTowerTopSubgroup_le_baseSubgroup K L)) :=
numberFieldTowerExtensionQuotient_finite K L
noncomputable local instance finitePadicAuxiliaryExtensionQuotientIsMulCommutative :
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)⟩ }