ModuleHilbertClassFieldComparison.lean
Nyll.ClassFieldTheory.GlobalClassFieldTheory.GlobalClassFields.HilbertClassFieldComparison
24 declarations indexed from sourceView source ↗ Module documentation
Comparison of the big and small Hilbert class fields
This file identifies the canonical transition from the big-Hilbert reciprocity quotient to the small-Hilbert reciprocity quotient with the canonical map from the narrow class group to the ordinary class group. It then transports the archimedean sign exact sequence to a precise description of the kernel of that transition.
Declarations
GlobalClassFieldTheory.GlobalClassFields.hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
DocumentationFix the canonical commutativity needed for Hilbert norm-subgroup quotients in this module.
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
GlobalClassFieldTheory.GlobalClassFields.hilbertClassFieldComparison_realSignGroupIsMulCommutative
DocumentationKeep the real-sign quotient normality instance stable across declarations.
Source context 7 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
GlobalClassFieldTheory.GlobalClassFields.bigHilbertClassFieldQuotientEquivNarrowClassGroup_mk
DocumentationOn an idele representative, the big-Hilbert quotient equivalence is the canonical representative in the narrow class group.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.smallHilbertClassFieldQuotientEquivClassGroup_mk
DocumentationOn an idele representative, the small-Hilbert quotient equivalence is the ordinary ideal-class map.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.bigToSmallHilbertQuotient_compatible_with_narrowToClassGroup
DocumentationUnder the canonical quotient equivalences, the big-to-small Hilbert transition is the map from the narrow class group to the ordinary class group.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.bigToSmallHilbertQuotient_compatibility
DocumentationHomomorphism form of the compatibility between the Hilbert quotient transition and the narrow-to-ordinary class-group map.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.realSignToBigHilbertClassFieldQuotient
DocumentationThe canonical map from real sign classes to the big-Hilbert reciprocity quotient.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.realSignToBigHilbertClassFieldQuotient_apply
DocumentationThe real-sign map to the big-Hilbert quotient is the composite used in its definition.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.integralUnitSign_range_eq_realSignToBigHilbertClassFieldQuotient_ker
DocumentationThe kernel of the real-sign map to the big-Hilbert quotient is the image of the sign classes of global integral units.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.realSignToBigHilbertClassFieldQuotient_range_le_bigToSmallHilbertKernel
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.bigToSmallHilbertKernel_le_realSignToBigHilbertClassFieldQuotient_range
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.realSignToBigHilbertClassFieldQuotient_range_eq_bigToSmallHilbertKernel
DocumentationThe image of the real-sign map in the big-Hilbert quotient is exactly the kernel of the transition to the small-Hilbert quotient.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.hilbertClassFieldSign_exact_sequence
DocumentationThe archimedean sign exact sequence written directly on the big and small Hilbert reciprocity quotients:
1 → unit signs → real signs → big Hilbert quotient → small Hilbert quotient → 1.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.bigHilbertQuotientEquiv_mem_narrowClassKernel
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.bigHilbertQuotientEquiv_symm_mem_bigToSmallKernel
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.bigToSmallHilbertKernelEquivNarrowClassKernel
DocumentationThe kernel of the big-to-small Hilbert quotient transition is canonically the kernel of the map from narrow to ordinary ideal classes.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.signToNarrow_mem_narrowClassKernel
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.realSignToNarrowClassKernel
DocumentationThe real-sign map with codomain restricted to the kernel of the narrow-to-ordinary class-group map.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.realSignToNarrowClassKernel_apply
DocumentationThe restricted real-sign map has the same underlying narrow ideal class as RayClass.signToNarrow.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.realSignToNarrowClassKernel_surjective
DocumentationEvery narrow ideal class mapping trivially to the ordinary class group is represented by a real sign class.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.realSignToNarrowClassKernel_ker
DocumentationRestricting the codomain of the real-sign map does not change its kernel.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.realSignModuloIntegralUnitSignsEquivNarrowClassKernel
DocumentationThe kernel of the narrow-to-ordinary class-group map is the quotient of real sign classes by the sign classes of global integral units.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.realSignModuloIntegralUnitSignsEquivBigToSmallHilbertKernel
DocumentationThe relative big/small Hilbert kernel is exactly the quotient of real sign classes by the sign classes contributed by global integral units.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩
GlobalClassFieldTheory.GlobalClassFields.bigToSmallHilbertKernel_card_eq_realSignQuotient_card
DocumentationThe order of the relative big/small Hilbert kernel is the order of the real-sign quotient modulo signs of global integral units.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField
variable {K : Type*} [Field K] [NumberField K]
attribute [local instance] hilbertClassFieldComparison_ideleClassGroupIsMulCommutative
/-- Keep the real-sign quotient normality instance stable across declarations. -/
local instance
hilbertClassFieldComparison_realSignGroupIsMulCommutative :
IsMulCommutative (RayClass.realSignGroup K) :=
⟨⟨fun a b => mul_comm a b⟩⟩