Module

OrdinaryNormClassField.lean

Nyll.ClassFieldTheory.GlobalClassFieldTheory.GlobalClassFields.OrdinaryNormClassField
28 declarations indexed from sourceView source ↗

Class fields from ordinary idele-class norm neighbourhoods

An actual finite Galois norm subgroup contained in an ordinary idele-class subgroup makes the transported subgroup norm-open in the rational absolute class formation. Finite abelian classification then constructs its class field. The final theorem below transports the result back to the ordinary idele class group of the actual fixed field, so its conclusion is an equality of genuine determinant-norm ranges.

Declarations

GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldIdeleClassCommGroup

Fix the canonical quotient group before converting fixed-field equivalences to additive homomorphisms.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
def ordinaryNormClassFieldIdeleClassCommGroup
    (F : Type) [Field F] [NumberField F] :
    CommGroup (IdeleClassGroup F)
GlobalClassFieldTheory.GlobalClassFields.addSubgroup_map_map_eq_of_comp_eq
Source context 8 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
theorem addSubgroup_map_map_eq_of_comp_eq
    {A B C : Type*} [AddGroup A] [AddGroup B] [AddGroup C]
    (S : AddSubgroup A) (f : A →+ B) (g : B →+ C) (h : A →+ C)
    (hcomp : g.comp f = h) :
    (S.map f).map g = S.map h
GlobalClassFieldTheory.GlobalClassFields.numberFieldTowerFixedBaseFiniteDimensionalPackage
Source context 10 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
omit [FiniteDimensional K L] [IsGalois K L] in
theorem numberFieldTowerFixedBaseFiniteDimensionalPackage :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L))
GlobalClassFieldTheory.GlobalClassFields.numberFieldTowerFixedBaseNumberFieldPackage
Source context 10 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
omit [FiniteDimensional K L] [IsGalois K L] in
theorem numberFieldTowerFixedBaseNumberFieldPackage :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L))
GlobalClassFieldTheory.GlobalClassFields.numberFieldTowerFixedBaseFiniteDimensional
Source context 10 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
omit [FiniteDimensional K L] [IsGalois K L] in
instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L))
GlobalClassFieldTheory.GlobalClassFields.numberFieldTowerFixedBaseNumberField
Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
omit [FiniteDimensional K L] [IsGalois K L] in
instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L))
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormOpenSubgroup
Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
def ordinaryNormOpenSubgroup
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    ClassFormation.FiniteAbelianSubextension.NormOpenAddSubgroup
      rationalIdeleClassRepresentation
      (numberFieldTowerBaseSubgroup K L)
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormOpenSubgroup_val
Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
theorem ordinaryNormOpenSubgroup_val
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    (ordinaryNormOpenSubgroup K L H hLH).1 =
      H.toAddSubgroup.map
        (numberFieldTowerIdeleClassEquivAmbientFixed K L).toAddMonoidHom
GlobalClassFieldTheory.GlobalClassFields.numberFieldTowerIdeleClassEquivAmbientFixed_symm_apply
Source context 13 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
section FixedBaseTransport
omit [FiniteDimensional K L] [IsGalois K L] in
theorem numberFieldTowerIdeleClassEquivAmbientFixed_symm_apply
    (c : Additive (IdeleClassGroup K)) :
    (rationalAbstractFixedFieldIdeleClassEquivFixed
        (numberFieldTowerBaseSubgroup K L)).symm
      (numberFieldTowerIdeleClassEquivAmbientFixed K L c) =
        MulEquiv.toAdditive
          (ideleClassCongr
            (numberFieldTowerAbstractBaseFieldEquiv K L)) c
GlobalClassFieldTheory.GlobalClassFields.numberFieldTowerIdeleClassEquivAmbientFixed_comp
Source context 13 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
section FixedBaseTransport
omit [FiniteDimensional K L] [IsGalois K L] in
theorem numberFieldTowerIdeleClassEquivAmbientFixed_comp :
    (rationalAbstractFixedFieldIdeleClassEquivFixed
        (numberFieldTowerBaseSubgroup K L)).symm.toAddMonoidHom.comp
      (numberFieldTowerIdeleClassEquivAmbientFixed K L).toAddMonoidHom =
        (MulEquiv.toAdditive
          (ideleClassCongr
            (numberFieldTowerAbstractBaseFieldEquiv K L)))
GlobalClassFieldTheory.GlobalClassFields.numberFieldTowerBaseTransport_isOpen_of_normRange_le_core
Source context 12 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
section FixedBaseTransport
theorem numberFieldTowerBaseTransport_isOpen_of_normRange_le_core
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    IsOpen
      (((H.toAddSubgroup).map
        (MulEquiv.toAdditive
          (ideleClassCongr
            (numberFieldTowerAbstractBaseFieldEquiv
              K L))).toAddMonoidHom :
        AddSubgroup
          (Additive
            (IdeleClassGroup
              (abstractFixedField ℚ (SeparableClosure ℚ)
                (numberFieldTowerBaseSubgroup K L))))) :
        Set
          (Additive
            (IdeleClassGroup
              (abstractFixedField ℚ (SeparableClosure ℚ)
                (numberFieldTowerBaseSubgroup K L)))))
GlobalClassFieldTheory.GlobalClassFields.exists_finiteAbelianSubextension_normSubgroup_eq_of_normRange_le

A finite Galois norm neighbourhood inside an ordinary idele-class subgroup produces a finite abelian subextension whose abstract norm subgroup is exactly the transported ordinary subgroup.

Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
theorem exists_finiteAbelianSubextension_normSubgroup_eq_of_normRange_le
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    ∃ M : FiniteAbelianSubextension
        (numberFieldTowerBaseSubgroup K L),
      M.normSubgroup rationalIdeleClassRepresentation =
        (H.toAddSubgroup).map
          (numberFieldTowerIdeleClassEquivAmbientFixed
            K L).toAddMonoidHom
GlobalClassFieldTheory.GlobalClassFields.numberFieldTowerBaseTransport_isOpen_of_normRange_le

The ordinary subgroup transported from K to its compatible embedded fixed-field copy is open whenever it contains an actual finite Galois norm subgroup. This is the concrete comparison between the norm topology and the usual idele-class topology at the chosen realization.

Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
theorem numberFieldTowerBaseTransport_isOpen_of_normRange_le
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    let B := numberFieldTowerBaseSubgroup K L
    let F := abstractFixedField ℚ (SeparableClosure ℚ) B
    IsOpen
      (((H.toAddSubgroup).map
        (MulEquiv.toAdditive
          (ideleClassCongr
            (numberFieldTowerAbstractBaseFieldEquiv
              K L))).toAddMonoidHom :
        AddSubgroup (Additive (IdeleClassGroup F))) :
        Set (Additive (IdeleClassGroup F))) := by
  exact
    numberFieldTowerBaseTransport_isOpen_of_normRange_le_core
      K L H hLH
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldSubextension

The finite abelian subextension selected from an ordinary norm neighbourhood. This is the unique choice point for the realization API below.

Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
def ordinaryNormClassFieldSubextension
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    FiniteAbelianSubextension (numberFieldTowerBaseSubgroup K L)
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldSubextension_normSubgroup

The selected subextension has the prescribed abstract norm subgroup.

Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
theorem ordinaryNormClassFieldSubextension_normSubgroup
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    (ordinaryNormClassFieldSubextension K L H hLH).normSubgroup
        rationalIdeleClassRepresentation =
      H.toAddSubgroup.map
        (numberFieldTowerIdeleClassEquivAmbientFixed
          K L).toAddMonoidHom
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldBase

The canonical fixed-field copy of the base used by every ordinary norm-neighbourhood realization in the ambient extension L / K.

Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
abbrev ordinaryNormClassFieldBase : Type
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldBaseFiniteDimensional
Source context 12 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
omit [FiniteDimensional K L] [IsGalois K L] in
instance ordinaryNormClassFieldBaseFiniteDimensional :
    FiniteDimensional ℚ (ordinaryNormClassFieldBase K L)
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldBaseNumberField
Source context 12 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
omit [FiniteDimensional K L] [IsGalois K L] in
instance ordinaryNormClassFieldBaseNumberField :
    NumberField (ordinaryNormClassFieldBase K L)
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldExtension

The actual relative fixed field of the selected ordinary class-field subextension.

Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
abbrev ordinaryNormClassFieldExtension
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) : Type
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldExtensionFiniteDimensional
Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
instance ordinaryNormClassFieldExtensionFiniteDimensional
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    FiniteDimensional (ordinaryNormClassFieldBase K L)
      (ordinaryNormClassFieldExtension K L H hLH)
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldScalarTower
Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
instance ordinaryNormClassFieldScalarTower
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    IsScalarTower ℚ (ordinaryNormClassFieldBase K L)
      (ordinaryNormClassFieldExtension K L H hLH)
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldAbsoluteFiniteDimensional
Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
instance ordinaryNormClassFieldAbsoluteFiniteDimensional
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    FiniteDimensional ℚ
      (ordinaryNormClassFieldExtension K L H hLH)
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldExtensionNumberField
Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
instance ordinaryNormClassFieldExtensionNumberField
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    NumberField (ordinaryNormClassFieldExtension K L H hLH)
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldExtensionIsGalois
Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
instance ordinaryNormClassFieldExtensionIsGalois
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    IsGalois (ordinaryNormClassFieldBase K L)
      (ordinaryNormClassFieldExtension K L H hLH)
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldExtensionIsAbelianGalois
Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
instance ordinaryNormClassFieldExtensionIsAbelianGalois
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    IsAbelianGalois (ordinaryNormClassFieldBase K L)
      (ordinaryNormClassFieldExtension K L H hLH)
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldBaseEquiv

The canonical equivalence from the original base to the selected fixed-field base.

Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
abbrev ordinaryNormClassFieldBaseEquiv :
    K ≃ₐ[ℚ] ordinaryNormClassFieldBase K L
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassFieldBaseIdeleClassTransport_comp
Source context 12 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
omit [FiniteDimensional K L] [IsGalois K L] in
theorem ordinaryNormClassFieldBaseIdeleClassTransport_comp :
    let B := numberFieldTowerBaseSubgroup K L
    let eFixed := rationalAbstractFixedFieldIdeleClassEquivFixed B
    let eBase :=
      MulEquiv.toAdditive
        (ideleClassCongr (ordinaryNormClassFieldBaseEquiv K L))
    let eTower := numberFieldTowerIdeleClassEquivAmbientFixed K L
    eFixed.symm.toAddMonoidHom.comp eTower.toAddMonoidHom =
      eBase.toAddMonoidHom := by
  exact numberFieldTowerIdeleClassEquivAmbientFixed_comp K L
GlobalClassFieldTheory.GlobalClassFields.ordinaryNormClassField_ideleClassNorm_range

The determinant-norm range of the selected ordinary class field is the original subgroup transported to the canonical fixed-field base.

Source context 11 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open ClassFormation
open LocalClassFieldTheory
open Reciprocity
attribute [local instance] ordinaryNormClassFieldIdeleClassCommGroup
variable
    (K L : Type) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]

/- The fixed-field typeclass data used by the topology comparison are kept
behind named constants.  This prevents every consumer from rebuilding the
same finite-dimensional and number-field proof terms while reducing the
dependent fixed-field type. -/
noncomputable local instance
    numberFieldTowerFixedBaseFiniteDimensional :
    FiniteDimensional ℚ
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseFiniteDimensionalPackage K L
noncomputable local instance numberFieldTowerFixedBaseNumberField :
    NumberField
      (abstractFixedField ℚ (SeparableClosure ℚ)
        (numberFieldTowerBaseSubgroup K L)) :=
  numberFieldTowerFixedBaseNumberFieldPackage K L
theorem ordinaryNormClassField_ideleClassNorm_range
    (H : Subgroup (IdeleClassGroup K))
    (hLH : (_root_.ideleClassNorm K L).range ≤ H) :
    (_root_.ideleClassNorm
      (ordinaryNormClassFieldBase K L)
      (ordinaryNormClassFieldExtension K L H hLH)).range.toAddSubgroup =
        H.toAddSubgroup.map
          (MulEquiv.toAdditive
            (ideleClassCongr
              (ordinaryNormClassFieldBaseEquiv K L))).toAddMonoidHom