Module

BaseChange.lean

Nyll.ClassFieldTheory.AlgebraicNumberTheory.Idele.Extension.BaseChange
31 declarations indexed from sourceView source β†—

Ideles in finite extensions: the tensor-product model

This file uses the canonical presentation 𝔸_L = 𝔸_K βŠ—_K L. This makes extension, Galois conjugation, and the idele norm formal linear-algebra operations.

Declarations

The adele algebra of L, written in base-change form 𝔸_K βŠ—_K L.

Source context 4 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
abbrev RelativeAdeleRing

The idele group of the base-changed adele algebra.

Source context 4 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
abbrev RelativeIdeleGroup
RelativeIdeleGroup.baseAdeleRingNontrivial
Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
instance baseAdeleRingNontrivial :
    Nontrivial (NumberField.AdeleRing (π“ž K) K)
RelativeIdeleGroup.adeleInclusion

The base-adele algebra map into its scalar extension.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
def adeleInclusion :
    NumberField.AdeleRing (π“ž K) K β†’+*
      RelativeAdeleRing K L
RelativeIdeleGroup.fieldInclusion

The extension field embedded in the scalar-extended adele algebra.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
def fieldInclusion :
    L β†’+* RelativeAdeleRing K L
RelativeIdeleGroup.inclusion

The canonical inclusion I_K β†’ I_L in the tensor-product model.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
def inclusion :
    IdeleGroup K β†’* RelativeIdeleGroup K L
RelativeIdeleGroup.inclusion_injective
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] in
theorem inclusion_injective :
    Function.Injective (inclusion K L)
RelativeIdeleGroup.principalIdele

The diagonal copy of LΛ£ inside the relative idele group.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
def principalIdele :
    LΛ£ β†’* RelativeIdeleGroup K L
RelativeIdeleGroup.inclusion_principalIdele
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] [FiniteDimensional K L] in
theorem inclusion_principalIdele
    (x : KΛ£) :
    inclusion K L (IdeleGroup.principalIdele K x) =
      principalIdele K L
        (Units.map (algebraMap K L) x)
RelativeIdeleGroup.norm

The norm of relative ideles, obtained as the determinant over the base adele ring.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
def norm :
    RelativeIdeleGroup K L β†’* IdeleGroup K
RelativeIdeleGroup.norm_inclusion
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] in
theorem norm_inclusion (a : IdeleGroup K) :
    norm K L (inclusion K L a) =
      a ^ Module.finrank K L
RelativeIdeleGroup.norm_fieldInclusion

Norm commutes with scalar extension from K to the base adele ring.

Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] in
theorem norm_fieldInclusion (x : L) :
    Algebra.norm (NumberField.AdeleRing (π“ž K) K)
        (fieldInclusion K L x) =
      algebraMap K (NumberField.AdeleRing (π“ž K) K)
        (Algebra.norm K x)
RelativeIdeleGroup.norm_principalIdele

The relative idele norm carries a principal idele to the principal idele of the field norm.

Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] in
theorem norm_principalIdele (x : LΛ£) :
    norm K L (principalIdele K L x) =
      IdeleGroup.principalIdele K
        (Units.map (Algebra.norm K) x)
RelativeIdeleGroup.conjugation

Galois conjugation on the scalar-extended adele algebra.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
def conjugation
    (Οƒ : L ≃ₐ[K] L) :
    RelativeAdeleRing K L ≃ₐ[
      NumberField.AdeleRing (π“ž K) K]
      RelativeAdeleRing K L
RelativeIdeleGroup.conjugation_tmul
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] [FiniteDimensional K L] in
theorem conjugation_tmul
    (Οƒ : L ≃ₐ[K] L)
    (a : NumberField.AdeleRing (π“ž K) K) (x : L) :
    conjugation K L Οƒ (a βŠ—β‚œ[K] x) =
      a βŠ—β‚œ[K] Οƒ x
RelativeIdeleGroup.conjugationIdele

Galois conjugation on relative ideles.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
def conjugationIdele
    (Οƒ : L ≃ₐ[K] L) :
    RelativeIdeleGroup K L ≃*
      RelativeIdeleGroup K L
RelativeIdeleGroup.conjugationIdele_coe
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] [FiniteDimensional K L] in
theorem conjugationIdele_coe
    (Οƒ : L ≃ₐ[K] L) (a : RelativeIdeleGroup K L) :
    ((conjugationIdele K L Οƒ a :
      RelativeIdeleGroup K L) : RelativeAdeleRing K L) =
      conjugation K L Οƒ (a : RelativeAdeleRing K L)
RelativeIdeleGroup.conjugation_one
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] [FiniteDimensional K L] in
theorem conjugation_one
    (a : RelativeAdeleRing K L) :
    conjugation K L (1 : L ≃ₐ[K] L) a = a
RelativeIdeleGroup.conjugation_mul
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] [FiniteDimensional K L] in
theorem conjugation_mul
    (Οƒ Ο„ : L ≃ₐ[K] L)
    (a : RelativeAdeleRing K L) :
    conjugation K L (Οƒ * Ο„) a =
      conjugation K L Οƒ (conjugation K L Ο„ a)
RelativeIdeleGroup.relativeIdeleMulAction

The natural Galois action on relative ideles.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
instance relativeIdeleMulAction :
    MulAction (L ≃ₐ[K] L) (RelativeIdeleGroup K L) where
  smul Οƒ a := conjugationIdele K L Οƒ a
  one_smul a := by
    apply Units.ext
    exact conjugation_one K L (a : RelativeAdeleRing K L)
  mul_smul Οƒ Ο„ a := by
    apply Units.ext
    change conjugation K L (Οƒ * Ο„)
        (a : RelativeAdeleRing K L) =
      conjugation K L Οƒ
        (conjugation K L Ο„ (a : RelativeAdeleRing K L))
    exact conjugation_mul K L Οƒ Ο„ _
RelativeIdeleGroup.relativeIdeleMulDistribMulAction

The natural Galois action on relative ideles, viewed as an action by group automorphisms.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
def relativeIdeleMulDistribMulAction :
    MulDistribMulAction (L ≃ₐ[K] L) (RelativeIdeleGroup K L) where
  __ := relativeIdeleMulAction K L
  smul_one Οƒ := map_one (conjugationIdele K L Οƒ)
  smul_mul Οƒ a b := map_mul (conjugationIdele K L Οƒ) a b
RelativeIdeleGroup.smul_def
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] [FiniteDimensional K L] in
theorem smul_def
    (Οƒ : L ≃ₐ[K] L) (a : RelativeIdeleGroup K L) :
    Οƒ β€’ a = conjugationIdele K L Οƒ a
RelativeIdeleGroup.smul_inclusion
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] [FiniteDimensional K L] in
theorem smul_inclusion
    (Οƒ : L ≃ₐ[K] L) (a : IdeleGroup K) :
    Οƒ β€’ inclusion K L a = inclusion K L a
RelativeIdeleGroup.smul_principalIdele
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] [FiniteDimensional K L] in
theorem smul_principalIdele
    (Οƒ : L ≃ₐ[K] L) (x : LΛ£) :
    Οƒ β€’ principalIdele K L x =
      principalIdele K L (Units.map Οƒ.toRingEquiv.toMonoidHom x)
RelativeIdeleGroup.galoisAverage

Reynolds averaging for the finite Galois action.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
def galoisAverage
    (z : RelativeAdeleRing K L) :
    RelativeAdeleRing K L
RelativeIdeleGroup.galoisAverage_eq_of_fixed
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] in
theorem galoisAverage_eq_of_fixed
    [IsGalois K L]
    (z : RelativeAdeleRing K L)
    (hz : βˆ€ Οƒ : L ≃ₐ[K] L,
      conjugation K L Οƒ z = z) :
    galoisAverage K L z = z
RelativeIdeleGroup.galoisAverage_tmul
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] in
theorem galoisAverage_tmul
    [IsGalois K L]
    (a : NumberField.AdeleRing (π“ž K) K) (x : L) :
    galoisAverage K L (a βŠ—β‚œ[K] x) =
      adeleInclusion K L
        (a * algebraMap K
          (NumberField.AdeleRing (π“ž K) K)
          ((Fintype.card (L ≃ₐ[K] L) : K)⁻¹ *
            Algebra.trace K L x))
RelativeIdeleGroup.galoisAverage_mem_adeleInclusion_range
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] in
theorem galoisAverage_mem_adeleInclusion_range
    [IsGalois K L]
    (z : RelativeAdeleRing K L) :
    βˆƒ a : NumberField.AdeleRing (π“ž K) K,
      adeleInclusion K L a = galoisAverage K L z
RelativeIdeleGroup.exists_adele_eq_of_galois_fixed
Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] in
theorem exists_adele_eq_of_galois_fixed
    [IsGalois K L]
    (z : RelativeAdeleRing K L)
    (hz : βˆ€ Οƒ : L ≃ₐ[K] L,
      conjugation K L Οƒ z = z) :
    βˆƒ a : NumberField.AdeleRing (π“ž K) K,
      adeleInclusion K L a = z
RelativeIdeleGroup.galoisFixedSubgroup

The subgroup of relative ideles fixed by every Galois automorphism.

Source context 5 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
def galoisFixedSubgroup :
    Subgroup (RelativeIdeleGroup K L)
RelativeIdeleGroup.inclusion_range_eq_galoisFixedSubgroup

In the canonical tensor-product presentation, the fixed relative ideles are exactly the ideles of the base field.

Source context 6 commands

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

open scoped NumberField TensorProduct
open NumberField
noncomputable section
variable
    (K L : Type*) [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L]
namespace RelativeIdeleGroup
omit [NumberField L] in
theorem inclusion_range_eq_galoisFixedSubgroup
    [IsGalois K L] :
    (inclusion K L).range =
      galoisFixedSubgroup K L