ModuleClassFieldCandidate.lean
Nyll.ClassFieldTheory.AbstractClassFieldTheory.Reciprocity.ClassFieldCandidate
19 declarations indexed from sourceView source ↗ Module documentation
A finite class-field candidate from a norm-open subgroup
This file isolates the source-producing part of finite-classification surjectivity. An open subgroup H ≤ A_K contains an actual finite Galois norm subgroup. Modulo that norm subgroup, H gives a concrete subgroup. Transporting this subgroup to the additive abelianization and pulling it back along Q → Qᵃᵇ gives a subgroup of the actual finite Galois quotient which contains its commutator. The finite Galois correspondence then cuts out an actual finite abelian intermediate extension.
The equivalence used for the transport is an explicit argument of the construction. A later specialization supplies it from finite reciprocity for the reciprocity map. No existence statement, norm-kernel equality, or classification conclusion depending on that specialization is asserted here.
The finite level beneath an open norm-topology subgroup
Transport to the abelianized finite quotient
From a subgroup above the commutator to an abelian field
Declarations
ClassFormation.normOpenAddSubgroup_contains_finiteNormSubgroup
DocumentationThe first step in the proof of the finite abelian classification theorem: an open subgroup in the norm topology contains the norm subgroup of an actual finite Galois extension.
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
omit [IsTopologicalGroup G] in
ClassFormation.FiniteGaloisSubextension.normQuotient_extensionQuotient_finite
Source context 7 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
ClassFormation.FiniteGaloisSubextension.normQuotientSubgroup
DocumentationThe subgroup H / N_E of the actual norm quotient, represented as the image of H under the quotient map.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance normQuotient_extensionQuotient_finite
(E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
ClassFormation.FiniteGaloisSubextension.finiteNormClass_mem_normQuotientSubgroup_iff
DocumentationIf N_E ⊆ H, then H is exactly the full inverse image of H / N_E. This is the group-theoretic fact used in the middle of the finite-classification surjectivity proof.
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance normQuotient_extensionQuotient_finite
(E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
omit [IsTopologicalGroup G] in
ClassFormation.FiniteGaloisSubextension.reciprocityAbelianizedSubgroup
DocumentationTransport H / N_E through a specified finite reciprocity equivalence and forget additive notation. This is a genuine subgroup of the actual abelianization G(E/K)ᵃᵇ.
The argument rE is kept explicit: this definition does not construct the finite reciprocity equivalence.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance normQuotient_extensionQuotient_finite
(E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
ClassFormation.FiniteGaloisSubextension.mem_reciprocityAbelianizedSubgroup_iff
DocumentationMembership in the transported subgroup is literal membership of the corresponding reciprocity class in the image of H / N_E.
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance normQuotient_extensionQuotient_finite
(E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
omit [IsTopologicalGroup G] in
ClassFormation.FiniteGaloisSubextension.reciprocityAbelianizedClassHom
DocumentationThe representative-level abelianized class map obtained by first passing to A_K / N_E and then applying the specified equivalence.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance normQuotient_extensionQuotient_finite
(E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
ClassFormation.FiniteGaloisSubextension.reciprocityClass_mem_abelianizedSubgroup_iff
DocumentationIf N_E ⊆ H, the transported subgroup has exactly H as its inverse image under the abelianized class map. This is the precise full-preimage statement used before taking the fixed field in the finite classification argument.
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance normQuotient_extensionQuotient_finite
(E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
omit [IsTopologicalGroup G] in
ClassFormation.abelianizationPreimageSubgroup
DocumentationPull a subgroup of an abelianization back to the original finite Galois group.
Source context 5 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
ClassFormation.commutator_le_abelianizationPreimageSubgroup
DocumentationEvery such pullback contains the commutator subgroup.
Source context 5 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
ClassFormation.FiniteGaloisSubextension.candidate_extensionQuotient_finite
Source context 7 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
ClassFormation.FiniteGaloisSubextension.intermediateFiniteAbelianOfCommutatorLe
DocumentationThe actual finite abelian intermediate extension cut out by a subgroup S ≤ G(E/K) containing the commutator.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance candidate_extensionQuotient_finite
{G : Type*} [Group G] [TopologicalSpace G]
{K : ClosedSubgroup G} (E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
ClassFormation.FiniteGaloisSubextension.intermediateFiniteAbelianOfCommutatorLe_field
DocumentationThe field underlying the preceding package is the literal fixed field of S.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance candidate_extensionQuotient_finite
{G : Type*} [Group G] [TopologicalSpace G]
{K : ClosedSubgroup G} (E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
ClassFormation.FiniteGaloisSubextension.reciprocityPreimageSubgroup
DocumentationThe subgroup obtained from H / N_E on the abelianization side, pulled back to the actual finite Galois quotient.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance candidate_extensionQuotient_finite
{G : Type*} [Group G] [TopologicalSpace G]
{K : ClosedSubgroup G} (E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
ClassFormation.FiniteGaloisSubextension.commutator_le_reciprocityPreimageSubgroup
DocumentationThe actual subgroup used to define the intermediate field contains the commutator, independently of any kernel assertion for rE.
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance candidate_extensionQuotient_finite
{G : Type*} [Group G] [TopologicalSpace G]
{K : ClosedSubgroup G} (E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
omit [IsTopologicalGroup G] in
ClassFormation.FiniteGaloisSubextension.reciprocityClass_mem_preimageSubgroup_iff
DocumentationThe pulled-back subgroup has exactly H as the inverse image of the representative-level reciprocity class. This is the group-side form of the full-preimage assertion used in the finite-classification surjectivity proof.
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance candidate_extensionQuotient_finite
{G : Type*} [Group G] [TopologicalSpace G]
{K : ClosedSubgroup G} (E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
omit [IsTopologicalGroup G] in
ClassFormation.FiniteGaloisSubextension.candidateQuotient_eq_one_iff
DocumentationEquivalently, the representative of the transported reciprocity class restricts trivially to the quotient cut out by the candidate precisely for the elements of H.
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance candidate_extensionQuotient_finite
{G : Type*} [Group G] [TopologicalSpace G]
{K : ClosedSubgroup G} (E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
omit [IsTopologicalGroup G] in
ClassFormation.FiniteGaloisSubextension.classFieldCandidate
DocumentationThe finite abelian intermediate extension determined by the subgroup transported from H / N_E. This is the field candidate in the surjectivity proof of the finite abelian classification theorem. No claim that its norm subgroup equals H is made before finite reciprocity is available.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance candidate_extensionQuotient_finite
{G : Type*} [Group G] [TopologicalSpace G]
{K : ClosedSubgroup G} (E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite
ClassFormation.FiniteGaloisSubextension.classFieldCandidate_field
DocumentationThe candidate is cut out by the explicit pulled-back subgroup, not by an opaque correspondence object.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory
open scoped commutatorElement
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
namespace FiniteGaloisSubextension
variable {K : ClosedSubgroup G}
local instance candidate_extensionQuotient_finite
{G : Type*} [Group G] [TopologicalSpace G]
{K : ClosedSubgroup G} (E : FiniteGaloisSubextension K) :
Finite (K.toSubgroup ⧸ extensionSubgroup K E.field E.below) :=
E.finite