Module

CyclotomicAbstractFixedFieldArtin.lean

Nyll.ClassFieldTheory.GlobalClassFieldTheory.Reciprocity.CyclotomicAbstractFixedFieldArtin
107 declarations indexed from sourceView source ↗

Cyclotomic Artin coordinates over abstract fixed fields

The cyclotomic degree datum on the rational absolute Galois group has an actual maximal-unramified field over every finite abstract fixed field. This file identifies its genuine Galois group with Multiplicative ZHat, using the normalized degree map, and supplies the abelian Galois structure needed by the actual infinite global Artin homomorphism.

These constructions are the source side of the comparison between abstract finite reciprocity and the chosen local-factor product. No reciprocity comparison is assumed in their definitions.

Declarations

GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra

Keep this module on the rational algebra structures used by the cyclotomic fixed-field API. Generic intermediate-field instances are propositionally equal here but not definitionally interchangeable.

Source context 6 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra
Source context 7 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField
GlobalClassFieldTheory.Reciprocity.rationalCyclotomicFieldInertia_le

Cyclotomic field inertia is contained in the original abstract field subgroup.

Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
theorem rationalCyclotomicFieldInertia_le
    (H : ClosedSubgroup
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    (rationalCyclotomicDegreeData.fieldInertia H).toSubgroup ≤
      H.toSubgroup
GlobalClassFieldTheory.Reciprocity.extensionSubgroup_rationalCyclotomicFieldInertia

Viewing cyclotomic field inertia inside its ambient field subgroup gives exactly the kernel of normalized degree.

Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
theorem extensionSubgroup_rationalCyclotomicFieldInertia
    (H : ClosedSubgroup
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    CyclicCohomology.extensionSubgroup H
        (rationalCyclotomicDegreeData.fieldInertia H)
        (rationalCyclotomicFieldInertia_le H) =
      rationalCyclotomicDegreeData.fieldInertiaWithin H
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicGalEquivZHat

The actual Galois group of the cyclotomic maximal-unramified extension of an abstract fixed field, in its normalized ZHat coordinate.

Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
def abstractFixedFieldCyclotomicGalEquivZHat
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    Gal(
        LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI /
        LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field) ≃*
      Multiplicative ZHat := by
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let hnormal :
      (CyclicCohomology.extensionSubgroup H.field
        (rationalCyclotomicDegreeData.fieldInertia H.field)
        hI).Normal := by
    rw [extensionSubgroup_rationalCyclotomicFieldInertia]
    infer_instance
  let qField :
      H.field.toSubgroup ⧸
          CyclicCohomology.extensionSubgroup H.field
            (rationalCyclotomicDegreeData.fieldInertia H.field)
            hI ≃*
        Gal(
          LocalClassFieldTheory.abstractRelativeFixedField
            ℚ (SeparableClosure ℚ) hI /
          LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
      ℚ (SeparableClosure ℚ) H.field
      (rationalCyclotomicDegreeData.fieldInertia H.field)
      hI hnormal
  let qInertia :
      H.field.toSubgroup ⧸
          CyclicCohomology.extensionSubgroup H.field
            (rationalCyclotomicDegreeData.fieldInertia H.field)
            hI ≃*
        H.field.toSubgroup ⧸
          rationalCyclotomicDegreeData.fieldInertiaWithin H.field :=
    QuotientGroup.quotientMulEquivOfEq
      (extensionSubgroup_rationalCyclotomicFieldInertia H.field)
  exact
    qField.symm.trans
      (qInertia.trans
        (rationalCyclotomicDegreeData.maximalUnramifiedDegreeEquiv
          (H.toFiniteResidueAbstractField
            rationalCyclotomicDegreeData)))
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicGalEquivZHat_extensionClass

On an absolute-Galois representative fixing the lower field, the actual cyclotomic Galois coordinate is its normalized degree.

Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
theorem abstractFixedFieldCyclotomicGalEquivZHat_extensionClass
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (σ : H.field.toSubgroup) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    let hnormal :
        (CyclicCohomology.extensionSubgroup H.field
          (rationalCyclotomicDegreeData.fieldInertia H.field)
          hI).Normal := by
      rw [extensionSubgroup_rationalCyclotomicFieldInertia]
      infer_instance
    abstractFixedFieldCyclotomicGalEquivZHat H
        (LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
          ℚ (SeparableClosure ℚ) H.field
          (rationalCyclotomicDegreeData.fieldInertia H.field)
          hI hnormal
          (QuotientGroup.mk σ)) =
      rationalCyclotomicDegreeData.normalizedDegree
        (H.toFiniteResidueAbstractField
          rationalCyclotomicDegreeData) σ := by
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let hnormal :
      (CyclicCohomology.extensionSubgroup H.field
        (rationalCyclotomicDegreeData.fieldInertia H.field)
        hI).Normal := by
    rw [extensionSubgroup_rationalCyclotomicFieldInertia]
    infer_instance
  let qField :=
    LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
      ℚ (SeparableClosure ℚ) H.field
      (rationalCyclotomicDegreeData.fieldInertia H.field)
      hI hnormal
  change
    (rationalCyclotomicDegreeData.maximalUnramifiedDegreeEquiv
      (H.toFiniteResidueAbstractField
        rationalCyclotomicDegreeData))
      (QuotientGroup.quotientMulEquivOfEq
        (extensionSubgroup_rationalCyclotomicFieldInertia H.field)
        (qField.symm (qField (QuotientGroup.mk σ)))) =
      rationalCyclotomicDegreeData.normalizedDegree
        (H.toFiniteResidueAbstractField
          rationalCyclotomicDegreeData) σ
  rw [qField.symm_apply_apply]
  rfl
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicGalEquivZHat_quotientClass

Quotient-level evaluation of the actual cyclotomic Galois coordinate.

Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
theorem abstractFixedFieldCyclotomicGalEquivZHat_quotientClass
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (q :
      H.field.toSubgroup ⧸
        rationalCyclotomicDegreeData.fieldInertiaWithin H.field) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    let hnormal :
        (CyclicCohomology.extensionSubgroup H.field
          (rationalCyclotomicDegreeData.fieldInertia H.field)
          hI).Normal := by
      rw [extensionSubgroup_rationalCyclotomicFieldInertia]
      infer_instance
    let qInertia :
        H.field.toSubgroup ⧸
            CyclicCohomology.extensionSubgroup H.field
              (rationalCyclotomicDegreeData.fieldInertia H.field)
              hI ≃*
          H.field.toSubgroup ⧸
            rationalCyclotomicDegreeData.fieldInertiaWithin H.field :=
      QuotientGroup.quotientMulEquivOfEq
        (extensionSubgroup_rationalCyclotomicFieldInertia H.field)
    abstractFixedFieldCyclotomicGalEquivZHat H
        (LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
          ℚ (SeparableClosure ℚ) H.field
          (rationalCyclotomicDegreeData.fieldInertia H.field)
          hI hnormal
          (qInertia.symm q)) =
      rationalCyclotomicDegreeData.maximalUnramifiedDegreeEquiv
        (H.toFiniteResidueAbstractField
          rationalCyclotomicDegreeData) q := by
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let hnormal :
      (CyclicCohomology.extensionSubgroup H.field
        (rationalCyclotomicDegreeData.fieldInertia H.field)
        hI).Normal := by
    rw [extensionSubgroup_rationalCyclotomicFieldInertia]
    infer_instance
  let qField :=
    LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
      ℚ (SeparableClosure ℚ) H.field
      (rationalCyclotomicDegreeData.fieldInertia H.field)
      hI hnormal
  let qInertia :
      H.field.toSubgroup ⧸
          CyclicCohomology.extensionSubgroup H.field
            (rationalCyclotomicDegreeData.fieldInertia H.field)
            hI ≃*
        H.field.toSubgroup ⧸
          rationalCyclotomicDegreeData.fieldInertiaWithin H.field :=
    QuotientGroup.quotientMulEquivOfEq
      (extensionSubgroup_rationalCyclotomicFieldInertia H.field)
  change
    (rationalCyclotomicDegreeData.maximalUnramifiedDegreeEquiv
      (H.toFiniteResidueAbstractField
        rationalCyclotomicDegreeData))
      (qInertia
        (qField.symm
          (qField (qInertia.symm q)))) =
      rationalCyclotomicDegreeData.maximalUnramifiedDegreeEquiv
        (H.toFiniteResidueAbstractField
          rationalCyclotomicDegreeData) q
  rw [qField.symm_apply_apply, qInertia.apply_symm_apply]
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomic_isAbelianGalois

The extension fixed by cyclotomic field inertia is an actual abelian Galois extension of the lower abstract fixed field.

Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
theorem abstractFixedFieldCyclotomic_isAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    IsAbelianGalois
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) := by
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let hnormal :
      (CyclicCohomology.extensionSubgroup H.field
        (rationalCyclotomicDegreeData.fieldInertia H.field)
        hI).Normal := by
    rw [extensionSubgroup_rationalCyclotomicFieldInertia]
    infer_instance
  let : IsGalois
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) :=
    LocalClassFieldTheory.abstractRelativeFixedField_isGalois
      ℚ (SeparableClosure ℚ) H.field
      (rationalCyclotomicDegreeData.fieldInertia H.field)
      hI hnormal
  let e :=
    abstractFixedFieldCyclotomicGalEquivZHat H
  exact
    { is_comm.comm := by
        intro σ τ
        apply e.injective
        simpa only [map_mul] using mul_comm (e σ) (e τ) }
GlobalClassFieldTheory.Reciprocity.rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum

The rational cyclotomic ZHat-field embedded in the actual maximal-unramified compositum of an abstract fixed field.

Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
def
    rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    rationalCyclotomicZHatField →ₐ[ℚ]
      LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI := by
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let J :=
    LocalClassFieldTheory.abstractFixedField
      ℚ (SeparableClosure ℚ)
      (rationalCyclotomicDegreeData.fieldInertia H.field)
  have hTJ :
      rationalCyclotomicZHatField ≤ J := by
    change
      rationalCyclotomicZHatField ≤
        LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicDegreeData.fieldInertia H.field)
    rw [
      rationalCyclotomicDegreeData_fixedField_fieldInertia]
    exact le_sup_right
  exact IntermediateField.inclusion hTJ
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicCompositum_algebra
Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
instance
    abstractFixedFieldCyclotomicCompositum_algebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    Algebra rationalCyclotomicZHatField
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) :=
  ((rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
    H).toRingHom).toAlgebra
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicCompositum_scalarTower
Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
instance abstractFixedFieldCyclotomicCompositum_scalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    IsScalarTower ℚ rationalCyclotomicZHatField
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) :=
  IsScalarTower.of_algebraMap_eq'
    ((rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
      H).comp_algebraMap).symm
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicCompositum_baseScalarTower
Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
instance abstractFixedFieldCyclotomicCompositum_baseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    IsScalarTower ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) := by
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  rfl
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicRestriction

Restriction from the actual maximal-unramified compositum of an abstract fixed field to the rational cyclotomic factor.

Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
def abstractFixedFieldCyclotomicRestriction
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    Gal(
        LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI /
        LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field) →*
      Gal(rationalCyclotomicZHatField / ℚ) := by
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  exact
    IntermediateField.restrictRestrictAlgEquivMapHom
      ℚ rationalCyclotomicZHatField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal

On a quotient representative, cyclotomic restriction of the actual relative automorphism is ordinary restriction of the same ambient absolute-Galois automorphism.

Source context 8 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicRestriction_extensionClass
Source context 9 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
theorem abstractFixedFieldCyclotomicRestriction_extensionClass
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (σ : H.field.toSubgroup) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    let hnormal :
        (CyclicCohomology.extensionSubgroup H.field
          (rationalCyclotomicDegreeData.fieldInertia H.field)
          hI).Normal := by
      rw [extensionSubgroup_rationalCyclotomicFieldInertia]
      infer_instance
    abstractFixedFieldCyclotomicRestriction H
        (LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
          ℚ (SeparableClosure ℚ) H.field
          (rationalCyclotomicDegreeData.fieldInertia H.field)
          hI hnormal
          (QuotientGroup.mk σ)) =
      AlgEquiv.restrictNormalHom
        rationalCyclotomicZHatField σ.1 := by
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let hnormal :
      (CyclicCohomology.extensionSubgroup H.field
        (rationalCyclotomicDegreeData.fieldInertia H.field)
        hI).Normal := by
    rw [extensionSubgroup_rationalCyclotomicFieldInertia]
    infer_instance
  let τ :=
    LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
      ℚ (SeparableClosure ℚ) H.field
      (rationalCyclotomicDegreeData.fieldInertia H.field)
      hI hnormal
      (QuotientGroup.mk'
        (CyclicCohomology.extensionSubgroup H.field
          (rationalCyclotomicDegreeData.fieldInertia H.field) hI)
        σ)
  apply AlgEquiv.ext
  intro x
  apply Subtype.ext
  let U :=
    LocalClassFieldTheory.abstractRelativeFixedField
      ℚ (SeparableClosure ℚ) hI
  have hrestrict :
      algebraMap rationalCyclotomicZHatField U
          ((abstractFixedFieldCyclotomicRestriction H τ) x) =
        τ (algebraMap rationalCyclotomicZHatField U x) := by
    change
      algebraMap rationalCyclotomicZHatField U
          ((AlgEquiv.restrictNormal
            (MulSemiringAction.toAlgEquiv ℚ U τ)
            rationalCyclotomicZHatField) x) =
        (MulSemiringAction.toAlgEquiv ℚ U τ)
          (algebraMap rationalCyclotomicZHatField U x)
    exact
      AlgEquiv.restrictNormal_commutes
        (MulSemiringAction.toAlgEquiv ℚ U τ)
        rationalCyclotomicZHatField x
  have halgebraMap_eq_embedding
      (z : rationalCyclotomicZHatField) :
      algebraMap rationalCyclotomicZHatField U z =
        (rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
          H z : U) := by
    rfl
  have hembedding_coe
      (z : rationalCyclotomicZHatField) :
      (((rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
          H z : U) : SeparableClosure ℚ)) =
        (z : SeparableClosure ℚ) := by
    rfl
  have halgebraMap_coe
      (z : rationalCyclotomicZHatField) :
      ((algebraMap rationalCyclotomicZHatField U z : U) :
          SeparableClosure ℚ) =
        (z : SeparableClosure ℚ) := by
    rw [halgebraMap_eq_embedding]
    exact hembedding_coe z
  have hambient :=
    LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup_mk_apply_val
        ℚ (SeparableClosure ℚ) H.field
        (rationalCyclotomicDegreeData.fieldInertia H.field)
        hI hnormal σ
        (rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
          H x)
  calc
    (((abstractFixedFieldCyclotomicRestriction H τ) x :
        rationalCyclotomicZHatField) :
        SeparableClosure ℚ) =
        ((τ
          (rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
            H x) :
          LocalClassFieldTheory.abstractRelativeFixedField
            ℚ (SeparableClosure ℚ) hI) :
          SeparableClosure ℚ) := by
      calc
        (((abstractFixedFieldCyclotomicRestriction H τ) x :
            rationalCyclotomicZHatField) : SeparableClosure ℚ) =
            ((algebraMap rationalCyclotomicZHatField U
              ((abstractFixedFieldCyclotomicRestriction H τ) x) : U) :
              SeparableClosure ℚ) :=
          (halgebraMap_coe
            ((abstractFixedFieldCyclotomicRestriction H τ) x)).symm
        _ = ((τ (algebraMap rationalCyclotomicZHatField U x) : U) :
            SeparableClosure ℚ) :=
          congrArg (fun y : U => (y : SeparableClosure ℚ)) hrestrict
        _ = ((τ
            (rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
              H x) : U) : SeparableClosure ℚ) := by
          rw [halgebraMap_eq_embedding]
    _ = σ.1 (x : SeparableClosure ℚ) := by
      calc
        ((τ
            (rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
              H x) : U) : SeparableClosure ℚ) =
            σ.1
              ((rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
                H x : U) : SeparableClosure ℚ) := by
          simpa only [τ, U] using hambient.symm
        _ = σ.1 (x : SeparableClosure ℚ) := by
          rw [hembedding_coe]
    _ =
        (((AlgEquiv.restrictNormalHom
          rationalCyclotomicZHatField σ.1) x :
          rationalCyclotomicZHatField) :
          SeparableClosure ℚ) := by
      exact
        (AlgEquiv.restrictNormal_commutes
          σ.1 rationalCyclotomicZHatField x).symm
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicRestriction_coordinate

Raw cyclotomic restriction is residue-degree multiplication of the normalized actual Galois coordinate.

Source context 9 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
theorem
    abstractFixedFieldCyclotomicRestriction_coordinate
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (τ :
      Gal(LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicFieldInertia_le H.field)/LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)) :
    Multiplicative.toAdd
        (rationalCyclotomicZHatFieldGalEquivZHat
          (abstractFixedFieldCyclotomicRestriction H τ)) =
      (H.residueDegree rationalCyclotomicDegreeData : ℕ) •
        Multiplicative.toAdd
          (abstractFixedFieldCyclotomicGalEquivZHat H τ)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositum

The canonical compositum of an abstract fixed field with a finite layer of the rational cyclotomic ZHat-extension.

Source context 9 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
def abstractFixedFieldCyclotomicFiniteCompositum
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IntermediateField ℚ (SeparableClosure ℚ)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositum_finiteDimensional
Source context 9 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
instance
    abstractFixedFieldCyclotomicFiniteCompositum_finiteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    FiniteDimensional ℚ
      (abstractFixedFieldCyclotomicFiniteCompositum H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositum_numberField
Source context 9 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
instance
    abstractFixedFieldCyclotomicFiniteCompositum_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteCompositum H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositumBaseEmbedding

The lower abstract fixed field embedded into its finite cyclotomic compositum.

Source context 9 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
def
    abstractFixedFieldCyclotomicFiniteCompositumBaseEmbedding
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field →ₐ[ℚ]
      abstractFixedFieldCyclotomicFiniteCompositum H E
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomic_numberField

The fixed field attached to a finite abstract field is a number field. Keeping this as the single file-local instance makes it available while later theorem binders are elaborated.

Source context 9 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositumLayerEmbedding

A finite rational cyclotomic layer embedded into its compositum with the abstract fixed field.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
def
    abstractFixedFieldCyclotomicFiniteCompositumLayerEmbedding
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    E →ₐ[ℚ]
      abstractFixedFieldCyclotomicFiniteCompositum H E
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositum_baseAlgebra
Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteCompositum_baseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteCompositum H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositum_layerAlgebra
Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteCompositum_layerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (abstractFixedFieldCyclotomicFiniteCompositum H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositum_layerSMul

The finite-layer action induced by its explicit embedding into the finite compositum.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteCompositum_layerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (abstractFixedFieldCyclotomicFiniteCompositum H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositum_baseScalarTower
Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteCompositum_baseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteCompositum H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositum_layerScalarTower
Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteCompositum_layerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (abstractFixedFieldCyclotomicFiniteCompositum H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositumInclusion

Inclusion of the finite cyclotomic compositum into the actual maximal-unramified compositum.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
def
    abstractFixedFieldCyclotomicFiniteCompositumInclusion
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    abstractFixedFieldCyclotomicFiniteCompositum H E →ₐ[ℚ]
      LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI := by
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let J :=
    LocalClassFieldTheory.abstractFixedField
      ℚ (SeparableClosure ℚ)
      (rationalCyclotomicDegreeData.fieldInertia H.field)
  have hle :
      abstractFixedFieldCyclotomicFiniteCompositum H E ≤ J := by
    dsimp only [J]
    rw [
      rationalCyclotomicDegreeData_fixedField_fieldInertia H.field]
    exact
      sup_le_sup le_rfl
        (IntermediateField.lift_le E.toIntermediateField)
  exact IntermediateField.inclusion hle
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositumInclusionOverBase

The same finite-compositum inclusion over the lower abstract fixed field.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
def
    abstractFixedFieldCyclotomicFiniteCompositumInclusionOverBase
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    abstractFixedFieldCyclotomicFiniteCompositum H E →ₐ[
      LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field]
      LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI := by
  let f :=
    abstractFixedFieldCyclotomicFiniteCompositumInclusion H E
  exact
    { f.toRingHom with
      commutes' := by
        intro x
        rfl }
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer

The finite cyclotomic compositum as an intermediate field of the actual maximal-unramified extension.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
def abstractFixedFieldCyclotomicFiniteLayer
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    IntermediateField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) :=
  (abstractFixedFieldCyclotomicFiniteCompositumInclusionOverBase H E).fieldRange
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_baseAlgebra

The base algebra on the finite field range, obtained from the explicit base embedding followed by the field-range equivalence.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteLayer_baseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteLayer H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_baseSMul

The scalar action belonging to the canonical base algebra on the finite field range.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteLayer_baseSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteLayer H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_baseModule

The module structure belonging to the canonical base algebra on the finite field range.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteLayer_baseModule
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Module
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteLayer H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteCompositumEquivFiniteLayer

The field-range equivalence rebuilt over the explicit base algebras. Its underlying ring equivalence is the canonical one.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
def
    abstractFixedFieldCyclotomicFiniteCompositumEquivFiniteLayer
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    abstractFixedFieldCyclotomicFiniteCompositum H E ≃ₐ[
      LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field]
      abstractFixedFieldCyclotomicFiniteLayer H E
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_finiteDimensional
Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteLayer_finiteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    FiniteDimensional
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteLayer H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_numberField
Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteLayer_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteLayer H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois
Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteLayer H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_baseScalarTower
Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteLayer_baseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteLayer H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayerEmbedding

The finite rational layer embedded into its corresponding intermediate field over the abstract fixed field.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
def
    abstractFixedFieldCyclotomicFiniteLayerEmbedding
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    E →ₐ[ℚ]
      abstractFixedFieldCyclotomicFiniteLayer H E
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra
Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (abstractFixedFieldCyclotomicFiniteLayer H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_layerSMul

The finite-layer action on its actual image in the relative fixed field.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteLayer_layerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (abstractFixedFieldCyclotomicFiniteLayer H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower
Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (abstractFixedFieldCyclotomicFiniteLayer H E)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteGaloisLayer

The finite cyclotomic layer as an object of the finite-Galois inverse system of the actual maximal-unramified extension.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
def
    abstractFixedFieldCyclotomicFiniteGaloisLayer
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    FiniteGaloisIntermediateField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ)
        (rationalCyclotomicFieldInertia_le H.field)) where
  toIntermediateField :=
    abstractFixedFieldCyclotomicFiniteLayer H E
  finiteDimensional :=
    abstractFixedFieldCyclotomicFiniteLayer_finiteDimensional H E
  isGalois :=
    (abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E).toIsGalois
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayer_baseAlgebra_eq_algebra'

The explicit base algebra on a finite cyclotomic layer is the canonical intermediate-field inclusion used by the finite Galois inverse system.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem abstractFixedFieldCyclotomicFiniteLayer_baseAlgebra_eq_algebra'
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    abstractFixedFieldCyclotomicFiniteLayer_baseAlgebra H E =
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower

The finite Galois layer uses its canonical inclusion into the full relative fixed field for the upper scalar action.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
instance
    abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).toIntermediateField
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ)
        (rationalCyclotomicFieldInertia_le H.field))
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayerInclusion

The canonical inclusion of the finite cyclotomic layer into the full abstract-fixed-field compositum.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
def
    abstractFixedFieldCyclotomicFiniteLayerInclusion
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    abstractFixedFieldCyclotomicFiniteLayer H E →ₐ[
      LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field]
      LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ)
        (rationalCyclotomicFieldInertia_le H.field)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayerEmbedding_inclusion

The two embeddings of a finite rational cyclotomic layer into the full abstract-fixed-field compositum agree.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    abstractFixedFieldCyclotomicFiniteLayerEmbedding_inclusion
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField)
    (z : E) :
    abstractFixedFieldCyclotomicFiniteLayerInclusion H E
        (abstractFixedFieldCyclotomicFiniteLayerEmbedding H E z) =
      rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum H
        (z : rationalCyclotomicZHatField)
GlobalClassFieldTheory.Reciprocity.restrictNormalHom_abstractFixedFieldCyclotomicRestriction_apply

Restriction to E commutes pointwise with the restriction from the full rational cyclotomic tower.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    restrictNormalHom_abstractFixedFieldCyclotomicRestriction_apply
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField)
    [Normal ℚ E]
    (σ :
      Gal(LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicFieldInertia_le H.field)/LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field))
    (z : E) :
    ((AlgEquiv.restrictNormalHom E
      (abstractFixedFieldCyclotomicRestriction H σ)) z :
        rationalCyclotomicZHatField) =
      (abstractFixedFieldCyclotomicRestriction H σ)
        (z : rationalCyclotomicZHatField)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicRestriction_embedding_apply

The raw cyclotomic restriction commutes with the canonical embedding of the full rational cyclotomic tower.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    abstractFixedFieldCyclotomicRestriction_embedding_apply
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (σ :
      Gal(LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicFieldInertia_le H.field)/LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field))
    (z : rationalCyclotomicZHatField) :
    rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum H
        (abstractFixedFieldCyclotomicRestriction H σ z) =
      σ
        (rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum
          H z)
GlobalClassFieldTheory.Reciprocity.restrictNormalHom_abstractFixedFieldCyclotomicFiniteLayer_apply

Restriction to the finite compositum layer commutes with its canonical inclusion into the full compositum.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    restrictNormalHom_abstractFixedFieldCyclotomicFiniteLayer_apply
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField)
    [Normal
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteLayer H E)]
    (σ :
      Gal(LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicFieldInertia_le H.field)/LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field))
    (z : abstractFixedFieldCyclotomicFiniteLayer H E) :
    abstractFixedFieldCyclotomicFiniteLayerInclusion H E
        (AlgEquiv.restrictNormalHom
          (abstractFixedFieldCyclotomicFiniteLayer H E) σ z) =
      σ (abstractFixedFieldCyclotomicFiniteLayerInclusion H E z)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicFiniteLayerEmbedding_restrict_apply

Restricting the finite-compositum action further to E commutes with the explicit embedding of E into that finite layer.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    abstractFixedFieldCyclotomicFiniteLayerEmbedding_restrict_apply
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField)
    [Normal ℚ E]
    [Normal
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteLayer H E)]
    (σ :
      Gal(LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicFieldInertia_le H.field)/LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field))
    (z : E) :
    abstractFixedFieldCyclotomicFiniteLayerEmbedding H E
        (IntermediateField.restrictRestrictAlgEquivMapHom
          ℚ E
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field)
          (abstractFixedFieldCyclotomicFiniteLayer H E)
          (AlgEquiv.restrictNormalHom
            (abstractFixedFieldCyclotomicFiniteLayer H E) σ) z) =
      (AlgEquiv.restrictNormalHom
        (abstractFixedFieldCyclotomicFiniteLayer H E) σ)
        (abstractFixedFieldCyclotomicFiniteLayerEmbedding H E z)
GlobalClassFieldTheory.Reciprocity.restrictNormalHom_abstractFixedFieldCyclotomicRestriction_left_embedded

The left finite-level restriction, after both canonical embeddings into the full compositum, is the action of σ on the cyclotomic embedding.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    restrictNormalHom_abstractFixedFieldCyclotomicRestriction_left_embedded
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField)
    [Normal ℚ E]
    (σ :
      Gal(LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicFieldInertia_le H.field)/LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field))
    (x : E) :
    abstractFixedFieldCyclotomicFiniteLayerInclusion H E
        (abstractFixedFieldCyclotomicFiniteLayerEmbedding H E
          (AlgEquiv.restrictNormalHom E
            (abstractFixedFieldCyclotomicRestriction H σ) x)) =
      σ
        (rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum H
          (x : rationalCyclotomicZHatField))
GlobalClassFieldTheory.Reciprocity.restrictNormalHom_abstractFixedFieldCyclotomicRestriction_right_embedded

The right finite-level restriction, after both canonical embeddings into the full compositum, is the same action of σ.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    restrictNormalHom_abstractFixedFieldCyclotomicRestriction_right_embedded
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField)
    [Normal ℚ E]
    [Normal
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteLayer H E)]
    (σ :
      Gal(LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicFieldInertia_le H.field)/LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field))
    (x : E) :
    abstractFixedFieldCyclotomicFiniteLayerInclusion H E
        (abstractFixedFieldCyclotomicFiniteLayerEmbedding H E
          (IntermediateField.restrictRestrictAlgEquivMapHom
            ℚ E
            (LocalClassFieldTheory.abstractFixedField
              ℚ (SeparableClosure ℚ) H.field)
            (abstractFixedFieldCyclotomicFiniteLayer H E)
            (AlgEquiv.restrictNormalHom
              (abstractFixedFieldCyclotomicFiniteLayer H E) σ) x)) =
      σ
        (rationalCyclotomicZHatFieldEmbeddingInAbstractFixedFieldCompositum H
          (x : rationalCyclotomicZHatField))
GlobalClassFieldTheory.Reciprocity.restrictNormalHom_abstractFixedFieldCyclotomicRestriction_pointwise

Pointwise form of finite-layer restriction compatibility.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    restrictNormalHom_abstractFixedFieldCyclotomicRestriction_pointwise
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField)
    [Normal ℚ E]
    [Normal
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (abstractFixedFieldCyclotomicFiniteLayer H E)]
    (σ :
      Gal(LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicFieldInertia_le H.field)/LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field))
    (x : E) :
    AlgEquiv.restrictNormalHom E
        (abstractFixedFieldCyclotomicRestriction H σ) x =
      IntermediateField.restrictRestrictAlgEquivMapHom
          ℚ E
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field)
          (abstractFixedFieldCyclotomicFiniteLayer H E)
        (AlgEquiv.restrictNormalHom
          (abstractFixedFieldCyclotomicFiniteLayer H E) σ) x
GlobalClassFieldTheory.Reciprocity.restrictNormalHom_abstractFixedFieldCyclotomicRestriction

Restricting through a finite layer commutes with restriction from the full abstract-fixed-field compositum.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    restrictNormalHom_abstractFixedFieldCyclotomicRestriction
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField)
    (σ :
      Gal(LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicFieldInertia_le H.field)/LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)) :
    letI : Normal ℚ E := E.isGalois.to_normal
    AlgEquiv.restrictNormalHom E
        (abstractFixedFieldCyclotomicRestriction H σ) =
      IntermediateField.restrictRestrictAlgEquivMapHom
          ℚ E
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field)
          (abstractFixedFieldCyclotomicFiniteLayer H E)
        (AlgEquiv.restrictNormalHom
          (abstractFixedFieldCyclotomicFiniteGaloisLayer H E)
          σ) := by
  let : Normal ℚ E := E.isGalois.to_normal
  let F :=
    LocalClassFieldTheory.abstractFixedField
      ℚ (SeparableClosure ℚ) H.field
  let U :=
    LocalClassFieldTheory.abstractRelativeFixedField
      ℚ (SeparableClosure ℚ)
      (rationalCyclotomicFieldInertia_le H.field)
  let T := rationalCyclotomicZHatField
  let P : IntermediateField F U :=
    abstractFixedFieldCyclotomicFiniteLayer H E
  let : Algebra T U :=
    abstractFixedFieldCyclotomicCompositum_algebra H
  let : IsScalarTower ℚ T U :=
    abstractFixedFieldCyclotomicCompositum_scalarTower H
  let : Algebra E P :=
    abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
  let : IsScalarTower ℚ E P :=
    abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
  let : IsAbelianGalois F P := by
    change IsAbelianGalois F
      (abstractFixedFieldCyclotomicFiniteLayer H E)
    exact
      abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
  let : Normal F P := IsGalois.to_normal
  apply AlgEquiv.ext
  intro x
  exact
    restrictNormalHom_abstractFixedFieldCyclotomicRestriction_pointwise
      H E σ x
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtin_eqTransThree

Opaque three-step equality composition used to keep large dependent finite-level coordinates out of endpoint proof normalization.

Source context 11 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
theorem cyclotomicAbstractFixedFieldArtin_eqTransThree
    {α : Type} {a b c d : α}
    (hab : a = b) (hbc : b = c) (hcd : c = d) :
    a = d
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateBase
Source context 11 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
abbrev cyclotomicAbstractFixedFieldArtinCoordinateBase
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateRelative
Source context 11 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
abbrev cyclotomicAbstractFixedFieldArtinCoordinateRelative
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayer
Source context 11 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
abbrev cyclotomicAbstractFixedFieldArtinCoordinateLayer
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IntermediateField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
Source context 11 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
Source context 12 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
Source context 13 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
Source context 14 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
Source context 15 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
Source context 16 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
Source context 17 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
Source context 18 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateNumberField
Source context 19 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
Source context 20 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateNormal
Source context 21 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
Source context 22 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
Source context 23 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
Source context 24 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
Source context 25 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
Source context 26 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
Source context 27 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
Source context 28 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
Source context 29 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
Source context 30 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
Source context 31 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinAbstractEndpoint

The full abstract Artin symbol whose finite coordinates are compared below. Naming this endpoint keeps its relative fixed-field data opaque.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
def
    cyclotomicAbstractFixedFieldArtinAbstractEndpoint
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)) :
    Gal(rationalCyclotomicZHatField / ℚ)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinRationalEndpoint

The rational norm Artin symbol serving as the other full endpoint.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
def
    cyclotomicAbstractFixedFieldArtinRationalEndpoint
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)) :
    Gal(rationalCyclotomicZHatField / ℚ)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateMapData

The finite restriction map packaged together with its pointwise Artin naturality law. The map is inferred from the generic hom-level theorem, so no concrete instance tower is compared after the opaque boundary.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
def cyclotomicAbstractFixedFieldArtinCoordinateMapData
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    {f : Gal(abstractFixedFieldCyclotomicFiniteGaloisLayer H E /
        cyclotomicAbstractFixedFieldArtinCoordinateBase H) →*
        Gal(E / ℚ) //
      f.comp
          (@globalArtinMonoidHomOfNumberField
            (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
            (abstractFixedFieldCyclotomicFiniteGaloisLayer H E)
            (inferInstance : Field
              (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
            (cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField H)
            (inferInstance : Field
              (abstractFixedFieldCyclotomicFiniteGaloisLayer H E))
            (cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra H E)
            (cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois H E)
            (cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField H E)) =
        (globalArtinMonoidHom (K := ℚ) (L := E)).comp
          (IdeleGroup.norm ℚ
            (cyclotomicAbstractFixedFieldArtinCoordinateBase H))}
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateMap

The fixed restriction map from the relative finite layer to one rational cyclotomic coordinate.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
def cyclotomicAbstractFixedFieldArtinCoordinateMap
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Gal(abstractFixedFieldCyclotomicFiniteGaloisLayer H E /
        cyclotomicAbstractFixedFieldArtinCoordinateBase H) →*
      Gal(E / ℚ)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateMap_naturality

Naturality of the named coordinate map, kept at the hom level so later pointwise rewrites match the opaque map without unfolding its data package.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
theorem cyclotomicAbstractFixedFieldArtinCoordinateMap_naturality
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    (cyclotomicAbstractFixedFieldArtinCoordinateMap H E).comp
        (globalArtinMonoidHom
          (K := cyclotomicAbstractFixedFieldArtinCoordinateBase H)
          (L := abstractFixedFieldCyclotomicFiniteGaloisLayer H E)) =
      (globalArtinMonoidHom (K := ℚ) (L := E)).comp
        (IdeleGroup.norm ℚ
          (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateMap_apply

Pointwise identification of the named coordinate map with the concrete two-stage restriction used by the abstract fixed-field comparison.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
theorem cyclotomicAbstractFixedFieldArtinCoordinateMap_apply
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField)
    (σ : Gal(abstractFixedFieldCyclotomicFiniteGaloisLayer
      H E/cyclotomicAbstractFixedFieldArtinCoordinateBase H)) :
    cyclotomicAbstractFixedFieldArtinCoordinateMap H E σ =
      @IntermediateField.restrictRestrictAlgEquivMapHom
        ℚ E
        (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
        (abstractFixedFieldCyclotomicFiniteGaloisLayer H E)
        inferInstance inferInstance inferInstance inferInstance
        (cyclotomicAbstractFixedFieldArtinCoordinateAlgebra E)
        (cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra H)
        (cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra H E)
        (cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra H E)
        (cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra H E)
        (cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower H E)
        (cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower H E)
        (cyclotomicAbstractFixedFieldArtinCoordinateNormal E) σ
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateBridgeData

The relative projection, common rational finite value, and rational infinite projection, with both comparison steps packaged by the generic provider before this concrete tower becomes opaque.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
def
    cyclotomicAbstractFixedFieldArtinCoordinateBridgeData
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinAbstractCoordinate

The abstract endpoint after projection to one finite coordinate.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
def
    cyclotomicAbstractFixedFieldArtinAbstractCoordinate
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Gal(E / ℚ)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinRestrictedLayerCoordinate

The relative infinite Artin symbol, restricted to a finite layer and then mapped to the corresponding rational coordinate.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
def
    cyclotomicAbstractFixedFieldArtinRestrictedLayerCoordinate
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Gal(E / ℚ)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinFiniteCoordinate

The finite relative Artin symbol mapped to one rational coordinate.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
def
    cyclotomicAbstractFixedFieldArtinFiniteCoordinate
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Gal(E / ℚ)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinRationalCoordinate

The finite rational Artin coordinate of the idele norm.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
def
    cyclotomicAbstractFixedFieldArtinRationalCoordinate
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Gal(E / ℚ)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateNaturality

Naturality of the finite global Artin map at the concrete cyclotomic coordinate.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
theorem
    cyclotomicAbstractFixedFieldArtinCoordinateNaturality
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    cyclotomicAbstractFixedFieldArtinFiniteCoordinate H a E =
      cyclotomicAbstractFixedFieldArtinRationalCoordinate H a E
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinRationalEndpointCoordinate

The rational endpoint after projection to one finite coordinate.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
def
    cyclotomicAbstractFixedFieldArtinRationalEndpointCoordinate
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Gal(E / ℚ)
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateRestriction

The abstract restriction map projected to the concrete finite layer.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
theorem
    cyclotomicAbstractFixedFieldArtinCoordinateRestriction
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    cyclotomicAbstractFixedFieldArtinAbstractCoordinate H a E =
      cyclotomicAbstractFixedFieldArtinRestrictedLayerCoordinate H a E
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateLayerProjection

Restricting the infinite relative Artin symbol supplies exactly the finite Artin coordinate.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
theorem
    cyclotomicAbstractFixedFieldArtinCoordinateLayerProjection
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    cyclotomicAbstractFixedFieldArtinRestrictedLayerCoordinate H a E =
      cyclotomicAbstractFixedFieldArtinFiniteCoordinate H a E
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinCoordinateRationalProjection

The rational cyclotomic Artin map projected to the same finite coordinate.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
theorem
    cyclotomicAbstractFixedFieldArtinCoordinateRationalProjection
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    cyclotomicAbstractFixedFieldArtinRationalEndpointCoordinate H a E =
      cyclotomicAbstractFixedFieldArtinFiniteCoordinate H a E
GlobalClassFieldTheory.Reciprocity.cyclotomicAbstractFixedFieldArtinFiniteCoordinateComparison

Equality of the two full endpoints at one opaque finite coordinate.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
theorem
    cyclotomicAbstractFixedFieldArtinFiniteCoordinateComparison
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a : IdeleGroup
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    AlgEquiv.restrictNormalHom E
        (cyclotomicAbstractFixedFieldArtinAbstractEndpoint H a) =
      AlgEquiv.restrictNormalHom E
        (cyclotomicAbstractFixedFieldArtinRationalEndpoint H a)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicRestriction_infiniteGlobalArtin_inverseLimit

The finite-coordinate comparison assembled in the rational cyclotomic inverse limit.

Source context 32 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
section FiniteCoordinateHelpers
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateBase H).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseFiniteDimensional
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    FiniteDimensional ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  LocalClassFieldTheory.abstractFixedField_finiteDimensional
    ℚ (SeparableClosure ℚ) H.field H.finite
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H) :=
  NumberField.of_module_finite ℚ
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateBaseSeparableAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (SeparableClosure ℚ) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  (cyclotomicAbstractFixedFieldArtinCoordinateRelative H).algebra'
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicCompositum_baseScalarTower H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateRelativeIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomic_isAbelianGalois H
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateAlgebra
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ E :=
  E.toIntermediateField.algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNumberField
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField E :=
  NumberField.of_module_finite ℚ E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateIsAbelianGalois
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois ℚ E :=
  IsAbelianGalois.of_algHom E.toIntermediateField.val
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateNormal
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Normal ℚ E :=
  E.isGalois.to_normal
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  (abstractFixedFieldCyclotomicFiniteGaloisLayer H E).algebra'
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRatAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  DivisionRing.toRatAlgebra
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerBaseScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) := by
  let hI := rationalCyclotomicFieldInertia_le H.field
  apply IsScalarTower.of_algebraMap_eq
  intro x
  apply Subtype.ext
  change
    algebraMap ℚ
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI) x =
      algebraMap
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
        (LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ) hI)
        (algebraMap ℚ
          (LocalClassFieldTheory.abstractFixedField
            ℚ (SeparableClosure ℚ) H.field) x)
  exact
    IsScalarTower.algebraMap_apply
      ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
      (LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI) x
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerNumberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    NumberField
      (abstractFixedFieldCyclotomicFiniteGaloisLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_numberField H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerAlgebra H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerSMul
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    SMul E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerSMul H E
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower ℚ E
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_layerScalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeAlgebra
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    Algebra
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  IntermediateField.toAlgebra
    (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerRelativeScalarTower
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsScalarTower
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E)
      (cyclotomicAbstractFixedFieldArtinCoordinateRelative H) :=
  abstractFixedFieldCyclotomicFiniteGaloisLayer_scalarTower H E
noncomputable local instance
    cyclotomicAbstractFixedFieldArtinCoordinateLayerIsAbelianGalois
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (E :
      FiniteGaloisIntermediateField
        ℚ rationalCyclotomicZHatField) :
    IsAbelianGalois
      (cyclotomicAbstractFixedFieldArtinCoordinateBase H)
      (cyclotomicAbstractFixedFieldArtinCoordinateLayer H E) :=
  abstractFixedFieldCyclotomicFiniteLayer_isAbelianGalois H E
theorem
    abstractFixedFieldCyclotomicRestriction_infiniteGlobalArtin_inverseLimit
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a :
      IdeleGroup
        (cyclotomicAbstractFixedFieldArtinCoordinateBase H)) :
    cyclotomicAbstractFixedFieldArtinAbstractEndpoint H a =
      cyclotomicAbstractFixedFieldArtinRationalEndpoint H a
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicRestriction_infiniteGlobalArtinMonoidHom

The actual infinite global Artin map on an abstract fixed field restricts to the rational cyclotomic Artin map of the ordinary idele norm.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    abstractFixedFieldCyclotomicRestriction_infiniteGlobalArtinMonoidHom
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a :
      IdeleGroup
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)) :
    let F :=
      LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field
    letI : FiniteDimensional ℚ F :=
      LocalClassFieldTheory.abstractFixedField_finiteDimensional
        ℚ (SeparableClosure ℚ) H.field H.finite
    letI : NumberField F :=
      NumberField.of_module_finite ℚ F
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    let U :=
      LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI
    letI : IsAbelianGalois F U :=
      abstractFixedFieldCyclotomic_isAbelianGalois H
    abstractFixedFieldCyclotomicRestriction H
        (infiniteGlobalArtinMonoidHom F U a) =
      rationalCyclotomicZHatGlobalArtin
        (IdeleGroup.norm ℚ F a) := by
  exact
    abstractFixedFieldCyclotomicRestriction_infiniteGlobalArtin_inverseLimit
      H a
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicGalEquivZHat_infiniteGlobalArtinMonoidHom

In the normalized actual Galois coordinate, the infinite global Artin symbol is exactly the normalized cyclotomic idele value.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    abstractFixedFieldCyclotomicGalEquivZHat_infiniteGlobalArtinMonoidHom
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a :
      IdeleGroup
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)) :
    let F :=
      LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field
    letI : FiniteDimensional ℚ F :=
      LocalClassFieldTheory.abstractFixedField_finiteDimensional
        ℚ (SeparableClosure ℚ) H.field H.finite
    letI : NumberField F :=
      NumberField.of_module_finite ℚ F
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    let U :=
      LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI
    letI : IsAbelianGalois F U :=
      abstractFixedFieldCyclotomic_isAbelianGalois H
    Multiplicative.toAdd
        (abstractFixedFieldCyclotomicGalEquivZHat H
          (infiniteGlobalArtinMonoidHom F U a)) =
      normalizedCyclotomicZHatIdeleValue F
        (Additive.ofMul a) := by
  let F :=
    LocalClassFieldTheory.abstractFixedField
      ℚ (SeparableClosure ℚ) H.field
  let : FiniteDimensional ℚ F :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  let : NumberField F :=
    NumberField.of_module_finite ℚ F
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let U :=
    LocalClassFieldTheory.abstractRelativeFixedField
      ℚ (SeparableClosure ℚ) hI
  let : IsAbelianGalois F U :=
    abstractFixedFieldCyclotomic_isAbelianGalois H
  apply
    zHatMulNat_injective
      (H.residueDegree rationalCyclotomicDegreeData).pos
  calc
    (H.residueDegree rationalCyclotomicDegreeData : ℕ) •
          Multiplicative.toAdd
            (abstractFixedFieldCyclotomicGalEquivZHat H
              (infiniteGlobalArtinMonoidHom F U a)) =
        Multiplicative.toAdd
          (rationalCyclotomicZHatFieldGalEquivZHat
            (abstractFixedFieldCyclotomicRestriction H
              (infiniteGlobalArtinMonoidHom F U a))) := by
      exact
        (abstractFixedFieldCyclotomicRestriction_coordinate H
          (infiniteGlobalArtinMonoidHom F U a)).symm
    _ =
        Multiplicative.toAdd
          (rationalCyclotomicZHatFieldGalEquivZHat
            (rationalCyclotomicZHatGlobalArtin
              (IdeleGroup.norm ℚ F a))) := by
      rw [
        abstractFixedFieldCyclotomicRestriction_infiniteGlobalArtinMonoidHom]
    _ =
        cyclotomicZHatNormComposite F
          (Additive.ofMul a) := by
      rfl
    _ =
        cyclotomicZHatIntersectionDegree F •
          normalizedCyclotomicZHatIdeleValue F
            (Additive.ofMul a) := by
      exact
        (cyclotomicZHatIntersectionDegree_nsmul_normalizedIdeleValue
          F (Additive.ofMul a)).symm
    _ =
        (H.residueDegree rationalCyclotomicDegreeData : ℕ) •
          normalizedCyclotomicZHatIdeleValue F
            (Additive.ofMul a) := by
      rw [
        cyclotomicZHatIntersectionDegree_abstractFixedField_eq_residueDegree
          H]
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicGalEquivZHat_infiniteGlobalArtinMonoidHom_mk

Representative form of the actual cyclotomic Artin-coordinate identity after descent of the normalized value to the idele class group.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    abstractFixedFieldCyclotomicGalEquivZHat_infiniteGlobalArtinMonoidHom_mk
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a :
      IdeleGroup
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)) :
    let F :=
      LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field
    letI : FiniteDimensional ℚ F :=
      LocalClassFieldTheory.abstractFixedField_finiteDimensional
        ℚ (SeparableClosure ℚ) H.field H.finite
    letI : NumberField F :=
      NumberField.of_module_finite ℚ F
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    let U :=
      LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI
    letI : IsAbelianGalois F U :=
      abstractFixedFieldCyclotomic_isAbelianGalois H
    Multiplicative.toAdd
        (abstractFixedFieldCyclotomicGalEquivZHat H
          (infiniteGlobalArtinMonoidHom F U a)) =
      normalizedCyclotomicZHatIdeleClassValueContinuous F
        (Additive.ofMul
          (QuotientGroup.mk'
            (IdeleGroup.principalSubgroup F) a)) := by
  have hSeparableClosureAlgebra :
      cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra =
        rationalSeparableClosureAlgebra :=
    Subsingleton.elim _ _
  cases hSeparableClosureAlgebra
  let F :=
    LocalClassFieldTheory.abstractFixedField
      ℚ (SeparableClosure ℚ) H.field
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let U :=
    LocalClassFieldTheory.abstractRelativeFixedField
      ℚ (SeparableClosure ℚ) hI
  let : IsAbelianGalois F U :=
    abstractFixedFieldCyclotomic_isAbelianGalois H
  calc
    Multiplicative.toAdd
        (abstractFixedFieldCyclotomicGalEquivZHat H
          (infiniteGlobalArtinMonoidHom F U a)) =
        normalizedCyclotomicZHatIdeleValue F
          (Additive.ofMul a) :=
      abstractFixedFieldCyclotomicGalEquivZHat_infiniteGlobalArtinMonoidHom
        H a
    _ =
        normalizedCyclotomicZHatIdeleClassValueContinuous F
          (Additive.ofMul
            (QuotientGroup.mk'
              (IdeleGroup.principalSubgroup F) a)) :=
      (normalizedCyclotomicZHatIdeleClassValueContinuous_mk
        (K := F) a).symm
GlobalClassFieldTheory.Reciprocity.infiniteGlobalArtinMonoidHom_abstractFixedFieldCyclotomic_principalIdele

The genuine infinite global Artin symbol of the cyclotomic maximal-unramified extension kills every principal idele of the abstract fixed field.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    infiniteGlobalArtinMonoidHom_abstractFixedFieldCyclotomic_principalIdele
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (x :
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)ˣ) :
    let F :=
      LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field
    letI : FiniteDimensional ℚ F :=
      LocalClassFieldTheory.abstractFixedField_finiteDimensional
        ℚ (SeparableClosure ℚ) H.field H.finite
    letI : NumberField F :=
      NumberField.of_module_finite ℚ F
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    let U :=
      LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI
    letI : IsAbelianGalois F U :=
      abstractFixedFieldCyclotomic_isAbelianGalois H
    infiniteGlobalArtinMonoidHom F U
        (IdeleGroup.principalIdele F x) =
      1 := by
  let F :=
    LocalClassFieldTheory.abstractFixedField
      ℚ (SeparableClosure ℚ) H.field
  let : FiniteDimensional ℚ F :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  let : NumberField F :=
    NumberField.of_module_finite ℚ F
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let U :=
    LocalClassFieldTheory.abstractRelativeFixedField
      ℚ (SeparableClosure ℚ) hI
  let : IsAbelianGalois F U :=
    abstractFixedFieldCyclotomic_isAbelianGalois H
  have hcoord :
      Multiplicative.toAdd
        (abstractFixedFieldCyclotomicGalEquivZHat H
          (infiniteGlobalArtinMonoidHom F U
            (IdeleGroup.principalIdele F x))) = 0 :=
    (abstractFixedFieldCyclotomicGalEquivZHat_infiniteGlobalArtinMonoidHom
      H (IdeleGroup.principalIdele F x)).trans
      (normalizedCyclotomicZHatIdeleValue_principalIdele_eq_zero F x)
  apply (abstractFixedFieldCyclotomicGalEquivZHat H).injective
  rw [map_one]
  apply Multiplicative.ext
  exact hcoord.trans toAdd_one.symm
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom

The genuine cyclotomic maximal-unramified Artin map descended to the idele class group of an abstract fixed field.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
def abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    IdeleClassGroup
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field) →*
      Gal(
        LocalClassFieldTheory.abstractRelativeFixedField
          ℚ (SeparableClosure ℚ)
          (rationalCyclotomicFieldInertia_le H.field) /
        LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom_mk

Evaluation of the descended maximal-unramified Artin map on an idele representative.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom_mk
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a :
      IdeleGroup
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)) :
    let F :=
      LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field
    letI : FiniteDimensional ℚ F :=
      LocalClassFieldTheory.abstractFixedField_finiteDimensional
        ℚ (SeparableClosure ℚ) H.field H.finite
    letI : NumberField F :=
      NumberField.of_module_finite ℚ F
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    let U :=
      LocalClassFieldTheory.abstractRelativeFixedField
        ℚ (SeparableClosure ℚ) hI
    letI : IsAbelianGalois F U :=
      abstractFixedFieldCyclotomic_isAbelianGalois H
    abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom H
        (QuotientGroup.mk'
          (IdeleGroup.principalSubgroup F) a) =
      infiniteGlobalArtinMonoidHom F U a := by
  rw [abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom]
  exact QuotientGroup.lift_mk _ _ _
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicGalEquivZHat_ideleClassArtinMonoidHom

The descended genuine maximal-unramified Artin map is precisely the normalized cyclotomic idele-class value in the actual Galois coordinate.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    abstractFixedFieldCyclotomicGalEquivZHat_ideleClassArtinMonoidHom
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (c :
      IdeleClassGroup
        (LocalClassFieldTheory.abstractFixedField
          ℚ (SeparableClosure ℚ) H.field)) :
    let F :=
      LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field
    letI : FiniteDimensional ℚ F :=
      LocalClassFieldTheory.abstractFixedField_finiteDimensional
        ℚ (SeparableClosure ℚ) H.field H.finite
    letI : NumberField F :=
      NumberField.of_module_finite ℚ F
    abstractFixedFieldCyclotomicGalEquivZHat H
        (abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom H c) =
      normalizedCyclotomicZHatIdeleClassValueContinuousMul F c := by
  let F :=
    LocalClassFieldTheory.abstractFixedField
      ℚ (SeparableClosure ℚ) H.field
  let : FiniteDimensional ℚ F :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  let : NumberField F :=
    NumberField.of_module_finite ℚ F
  have hSeparableClosureAlgebra :
      cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra =
        rationalSeparableClosureAlgebra :=
    Subsingleton.elim _ _
  cases hSeparableClosureAlgebra
  refine Quotient.inductionOn' c ?_
  intro a
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let U :=
    LocalClassFieldTheory.abstractRelativeFixedField
      ℚ (SeparableClosure ℚ) hI
  let : IsAbelianGalois F U :=
    abstractFixedFieldCyclotomic_isAbelianGalois H
  calc
    abstractFixedFieldCyclotomicGalEquivZHat H
        (abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom H
          (QuotientGroup.mk'
            (IdeleGroup.principalSubgroup F) a)) =
        abstractFixedFieldCyclotomicGalEquivZHat H
          (infiniteGlobalArtinMonoidHom F U a) :=
      congrArg (abstractFixedFieldCyclotomicGalEquivZHat H)
        (abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom_mk H a)
    _ =
        normalizedCyclotomicZHatIdeleClassValueContinuousMul F
          (QuotientGroup.mk'
            (IdeleGroup.principalSubgroup F) a) := by
      apply Multiplicative.ext
      exact
        abstractFixedFieldCyclotomicGalEquivZHat_infiniteGlobalArtinMonoidHom_mk
          H a
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicIdeleClassArtin_eq_maximalUnramifiedNormResidue

The genuine chosen-local-factor Artin map to the cyclotomic maximal-unramified extension is the abstract maximal-unramified norm-residue symbol. Both sides are characterized here by their common normalized valuation coordinate, so no finite reciprocity comparison is assumed.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    abstractFixedFieldCyclotomicIdeleClassArtin_eq_maximalUnramifiedNormResidue
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (a :
      ambientFixedAddSubgroup
        rationalIdeleClassRepresentation H.field) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    let hnormal :
        (CyclicCohomology.extensionSubgroup H.field
          (rationalCyclotomicDegreeData.fieldInertia H.field)
          hI).Normal := by
      rw [extensionSubgroup_rationalCyclotomicFieldInertia]
      infer_instance
    let qInertia :
        H.field.toSubgroup ⧸
            CyclicCohomology.extensionSubgroup H.field
              (rationalCyclotomicDegreeData.fieldInertia H.field)
              hI ≃*
          H.field.toSubgroup ⧸
            rationalCyclotomicDegreeData.fieldInertiaWithin H.field :=
      QuotientGroup.quotientMulEquivOfEq
        (extensionSubgroup_rationalCyclotomicFieldInertia H.field)
    abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom H
        (Additive.toMul
          ((rationalAbstractFixedFieldIdeleClassEquivFixed H.field
              (hfinite := H.finite)).symm
            a)) =
      LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
        ℚ (SeparableClosure ℚ) H.field
        (rationalCyclotomicDegreeData.fieldInertia H.field)
        hI hnormal
        (qInertia.symm
          (ValuationData.maximalUnramifiedNormResidueSymbol
            rationalCyclotomicIdeleClassValuationData H a).toMul) := by
  let F :=
    LocalClassFieldTheory.abstractFixedField
      ℚ (SeparableClosure ℚ) H.field
  let : FiniteDimensional ℚ F :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  let : NumberField F :=
    NumberField.of_module_finite ℚ F
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let hnormal :
      (CyclicCohomology.extensionSubgroup H.field
        (rationalCyclotomicDegreeData.fieldInertia H.field)
        hI).Normal := by
    rw [extensionSubgroup_rationalCyclotomicFieldInertia]
    infer_instance
  let qInertia :
      H.field.toSubgroup ⧸
          CyclicCohomology.extensionSubgroup H.field
            (rationalCyclotomicDegreeData.fieldInertia H.field)
            hI ≃*
        H.field.toSubgroup ⧸
          rationalCyclotomicDegreeData.fieldInertiaWithin H.field :=
    QuotientGroup.quotientMulEquivOfEq
      (extensionSubgroup_rationalCyclotomicFieldInertia H.field)
  let c : IdeleClassGroup F :=
    Additive.toMul
      ((rationalAbstractFixedFieldIdeleClassEquivFixed H.field
          (hfinite := H.finite)).symm a)
  have hvaluation :
      ((rationalCyclotomicIdeleClassValuationData.valuationAt H a :
          rationalCyclotomicIdeleClassValuationData.valueGroup) : ZHat) =
        normalizedCyclotomicZHatIdeleClassValueContinuous F
          (Additive.ofMul c) := by
    simpa only [c, ofMul_toMul,
      (rationalAbstractFixedFieldIdeleClassEquivFixed H.field
        (hfinite := H.finite)).apply_symm_apply] using
      (rationalCyclotomicIdeleClassValuationData_valuationAt_fixed_apply
        H
        ((rationalAbstractFixedFieldIdeleClassEquivFixed H.field
          (hfinite := H.finite)).symm a))
  have hleft :
      Multiplicative.toAdd
        (abstractFixedFieldCyclotomicGalEquivZHat H
          (abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom H c)) =
        normalizedCyclotomicZHatIdeleClassValueContinuous F
          (Additive.ofMul c) :=
    congrArg Multiplicative.toAdd
      (abstractFixedFieldCyclotomicGalEquivZHat_ideleClassArtinMonoidHom H c)
  have hright :
      ((rationalCyclotomicIdeleClassValuationData.valuationAt H a :
          rationalCyclotomicIdeleClassValuationData.valueGroup) : ZHat) =
        Multiplicative.toAdd
          (abstractFixedFieldCyclotomicGalEquivZHat H
            (LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
              ℚ (SeparableClosure ℚ) H.field
              (rationalCyclotomicDegreeData.fieldInertia H.field)
              hI hnormal
              (qInertia.symm
                (ValuationData.maximalUnramifiedNormResidueSymbol
                  rationalCyclotomicIdeleClassValuationData H a).toMul))) := by
    rw [abstractFixedFieldCyclotomicGalEquivZHat_quotientClass]
    exact
      (ValuationData.maximalUnramifiedNormResidue_degree
        rationalCyclotomicIdeleClassValuationData H a).symm
  apply (abstractFixedFieldCyclotomicGalEquivZHat H).injective
  apply Multiplicative.ext
  exact hleft.trans (hvaluation.symm.trans hright)
GlobalClassFieldTheory.Reciprocity.abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom_prime

A prime idele class has genuine maximal-unramified Artin symbol equal to the arithmetic Frobenius of its abstract fixed field.

Source context 10 commands

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

open scoped IsMulCommutative NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace Reciprocity
open ClassFormation
open KummerTheory
/-- Keep this module on the rational algebra structures used by the
cyclotomic fixed-field API.  Generic intermediate-field instances are
propositionally equal here but not definitionally interchangeable. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_separableClosureAlgebra :
    Algebra ℚ (SeparableClosure ℚ) :=
  DivisionRing.toRatAlgebra
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldAlgebra :
    Algebra ℚ rationalCyclotomicZHatField :=
  DivisionRing.toRatAlgebra
/-- On a quotient representative, cyclotomic restriction of the
actual relative automorphism is ordinary restriction of the same
ambient absolute-Galois automorphism. -/
noncomputable local instance
    cyclotomicAbstractFixedFieldArtin_cyclotomicZHatFieldNormal :
    Normal ℚ rationalCyclotomicZHatField :=
  rationalCyclotomicZHatField_isNormal
/-- The fixed field attached to a finite abstract field is a number
field.  Keeping this as the single file-local instance makes it
available while later theorem binders are elaborated. -/
noncomputable local instance
    abstractFixedFieldCyclotomic_numberField
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ)) :
    NumberField
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) := by
  let : FiniteDimensional ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field) :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  exact
    NumberField.of_module_finite ℚ
      (LocalClassFieldTheory.abstractFixedField
        ℚ (SeparableClosure ℚ) H.field)
theorem
    abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom_prime
    (H : FiniteAbstractField
      (SeparableClosure ℚ ≃ₐ[ℚ] SeparableClosure ℚ))
    (π :
      ambientFixedAddSubgroup
        rationalIdeleClassRepresentation H.field)
    (hπ :
      rationalCyclotomicIdeleClassValuationData.IsPrimeElement H π) :
    let hI :=
      rationalCyclotomicFieldInertia_le H.field
    let hnormal :
        (CyclicCohomology.extensionSubgroup H.field
          (rationalCyclotomicDegreeData.fieldInertia H.field)
          hI).Normal := by
      rw [extensionSubgroup_rationalCyclotomicFieldInertia]
      infer_instance
    let qInertia :
        H.field.toSubgroup ⧸
            CyclicCohomology.extensionSubgroup H.field
              (rationalCyclotomicDegreeData.fieldInertia H.field)
              hI ≃*
          H.field.toSubgroup ⧸
            rationalCyclotomicDegreeData.fieldInertiaWithin H.field :=
      QuotientGroup.quotientMulEquivOfEq
        (extensionSubgroup_rationalCyclotomicFieldInertia H.field)
    abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom H
        (Additive.toMul
          ((rationalAbstractFixedFieldIdeleClassEquivFixed H.field
              (hfinite := H.finite)).symm
            π)) =
      LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
        ℚ (SeparableClosure ℚ) H.field
        (rationalCyclotomicDegreeData.fieldInertia H.field)
        hI hnormal
        (qInertia.symm
          (rationalCyclotomicDegreeData.frobenius
            (H.toFiniteResidueAbstractField
              rationalCyclotomicDegreeData))) := by
  let F :=
    LocalClassFieldTheory.abstractFixedField
      ℚ (SeparableClosure ℚ) H.field
  let : FiniteDimensional ℚ F :=
    LocalClassFieldTheory.abstractFixedField_finiteDimensional
      ℚ (SeparableClosure ℚ) H.field H.finite
  let : NumberField F :=
    NumberField.of_module_finite ℚ F
  let hI :=
    rationalCyclotomicFieldInertia_le H.field
  let hnormal :
      (CyclicCohomology.extensionSubgroup H.field
        (rationalCyclotomicDegreeData.fieldInertia H.field)
        hI).Normal := by
    rw [extensionSubgroup_rationalCyclotomicFieldInertia]
    infer_instance
  let qInertia :
      H.field.toSubgroup ⧸
          CyclicCohomology.extensionSubgroup H.field
            (rationalCyclotomicDegreeData.fieldInertia H.field)
            hI ≃*
        H.field.toSubgroup ⧸
          rationalCyclotomicDegreeData.fieldInertiaWithin H.field :=
    QuotientGroup.quotientMulEquivOfEq
      (extensionSubgroup_rationalCyclotomicFieldInertia H.field)
  let c :
      IdeleClassGroup F :=
    Additive.toMul
      ((rationalAbstractFixedFieldIdeleClassEquivFixed H.field
          (hfinite := H.finite)).symm π)
  have hvalue :
      normalizedCyclotomicZHatIdeleClassValueContinuous F
          ((rationalAbstractFixedFieldIdeleClassEquivFixed H.field
              (hfinite := H.finite)).symm
            π) =
        1 := by
    calc
      normalizedCyclotomicZHatIdeleClassValueContinuous F
          ((rationalAbstractFixedFieldIdeleClassEquivFixed H.field
              (hfinite := H.finite)).symm
            π) =
          ((rationalCyclotomicIdeleClassValuationData.valuationAt H
              (rationalAbstractFixedFieldIdeleClassEquivFixed H.field
                (hfinite := H.finite)
                ((rationalAbstractFixedFieldIdeleClassEquivFixed H.field
                    (hfinite := H.finite)).symm
                  π)) :
              rationalCyclotomicIdeleClassValuationData.valueGroup) :
            ZHat) := by
        exact
          (rationalCyclotomicIdeleClassValuationData_valuationAt_fixed_apply
            H
            ((rationalAbstractFixedFieldIdeleClassEquivFixed H.field
                (hfinite := H.finite)).symm
              π)).symm
      _ =
          ((rationalCyclotomicIdeleClassValuationData.oneValue :
              rationalCyclotomicIdeleClassValuationData.valueGroup) :
            ZHat) := by
        rw [(rationalAbstractFixedFieldIdeleClassEquivFixed H.field
          (hfinite := H.finite)).apply_symm_apply]
        exact congrArg Subtype.val hπ
      _ = 1 :=
        rationalCyclotomicIdeleClassValuationData.oneValue_coe
  apply (abstractFixedFieldCyclotomicGalEquivZHat H).injective
  calc
    abstractFixedFieldCyclotomicGalEquivZHat H
        (abstractFixedFieldCyclotomicIdeleClassArtinMonoidHom H c) =
        normalizedCyclotomicZHatIdeleClassValueContinuousMul F c :=
      abstractFixedFieldCyclotomicGalEquivZHat_ideleClassArtinMonoidHom
        H c
    _ = Multiplicative.ofAdd (1 : ZHat) := by
      apply Multiplicative.ext
      exact hvalue
    _ =
        abstractFixedFieldCyclotomicGalEquivZHat H
          (LocalClassFieldTheory.abstractExtensionQuotientEquivGaloisGroup
            ℚ (SeparableClosure ℚ) H.field
            (rationalCyclotomicDegreeData.fieldInertia H.field)
            hI hnormal
            (qInertia.symm
              (rationalCyclotomicDegreeData.frobenius
                (H.toFiniteResidueAbstractField
                  rationalCyclotomicDegreeData)))) := by
      rw [
        abstractFixedFieldCyclotomicGalEquivZHat_quotientClass,
        rationalCyclotomicDegreeData.maximalUnramifiedDegreeEquiv_frobenius]