Module

EmbeddingNorm.lean

Nyll.ClassFieldTheory.AlgebraicNumberTheory.Idele.Extension.EmbeddingNorm
28 declarations indexed from sourceView source ↗

Norms through an ambient Galois extension

This file proves the embedded-subextension determinant-norm formula. If L/K is embedded in a finite Galois extension M/K, extending the determinant norm of an element of A ⊗[K] L to A ⊗[K] M gives the product over all K-embeddings L → M.

Declarations

RelativeIdeleGroup.embeddingToAlgebraicClosure

Extend a K-embedding L → M to the algebraic closure of M.

Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
def embeddingToAlgebraicClosure :
    (L →ₐ[K] M) →
      (L →ₐ[K] AlgebraicClosure M)
RelativeIdeleGroup.embeddingToAlgebraicClosure_injective
Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
omit [Algebra L M] [IsScalarTower K L M] in
theorem embeddingToAlgebraicClosure_injective :
    Function.Injective
      (embeddingToAlgebraicClosure
        (K := K) (L := L) (M := M))
RelativeIdeleGroup.embeddingToAlgebraicClosure_surjective
Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
theorem embeddingToAlgebraicClosure_surjective
    [FiniteDimensional K M] [Normal K M] :
    Function.Surjective
      (embeddingToAlgebraicClosure
        (K := K) (L := L) (M := M))
RelativeIdeleGroup.embeddingToAlgebraicClosureEquiv

Embeddings of a subextension into a finite normal overfield are the same as embeddings into an algebraic closure.

Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
def embeddingToAlgebraicClosureEquiv
    [FiniteDimensional K M] [Normal K M] :
    (L →ₐ[K] M) ≃
      (L →ₐ[K] AlgebraicClosure M)
RelativeIdeleGroup.fixingSubextension

The subgroup of Gal(M/K) fixing the embedded copy of L.

Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
def fixingSubextension :
    Subgroup (M ≃ₐ[K] M)
RelativeIdeleGroup.restrictToSubextension

Restriction of an automorphism of M/K to the embedded copy of L.

Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
def restrictToSubextension
    (σ : M ≃ₐ[K] M) : L →ₐ[K] M
RelativeIdeleGroup.liftSubextensionEmbedding

Extend an embedding L →ₐ[K] M to an automorphism of the normal extension M/K.

Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
def liftSubextensionEmbedding
    [Normal K M] (f : L →ₐ[K] M) :
    M ≃ₐ[K] M
RelativeIdeleGroup.restrict_liftSubextensionEmbedding
Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
theorem restrict_liftSubextensionEmbedding
    [Normal K M] (f : L →ₐ[K] M) :
    restrictToSubextension
        (liftSubextensionEmbedding f) = f
RelativeIdeleGroup.cosetToEmbedding

The canonical map from right cosets of the fixing subgroup to embeddings of the subextension.

Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
def cosetToEmbedding
    [Normal K M] :
    (M ≃ₐ[K] M) ⧸
        fixingSubextension (K := K) (L := L) (M := M) →
      (L →ₐ[K] M)
RelativeIdeleGroup.cosetEquivEmbedding

Right cosets Gal(M/K)/Gal(M/L) are canonically the K-embeddings L → M. This is the index set in the coset form of the Galois product norm formula.

Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
def cosetEquivEmbedding
    [Normal K M] :
    (M ≃ₐ[K] M) ⧸
        fixingSubextension (K := K) (L := L) (M := M) ≃
      (L →ₐ[K] M) where
  toFun := cosetToEmbedding
  invFun f :=
    (liftSubextensionEmbedding f :
      (M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M))
  right_inv f :=
    restrict_liftSubextensionEmbedding f
  left_inv q := by
    refine Quotient.inductionOn' q ?_
    intro σ
    apply QuotientGroup.eq.mpr
    change
      (liftSubextensionEmbedding
          (restrictToSubextension σ))⁻¹ * σ ∈
        (IsScalarTower.toAlgHom K L M).fieldRange.fixingSubgroup
    rw [IntermediateField.mem_fixingSubgroup_iff
      (IsScalarTower.toAlgHom K L M).fieldRange]
    intro y hy
    rcases hy with ⟨x, rfl⟩
    change
      ((liftSubextensionEmbedding
          (restrictToSubextension σ))⁻¹ * σ)
          (algebraMap L M x) =
        algebraMap L M x
    rw [AlgEquiv.mul_apply]
    have hres :=
      DFunLike.congr_fun
        (restrict_liftSubextensionEmbedding
          (restrictToSubextension σ)) x
    change
      liftSubextensionEmbedding
          (restrictToSubextension σ)
          (algebraMap L M x) =
        σ (algebraMap L M x) at hres
    rw [← hres]
    exact
      (liftSubextensionEmbedding
        (restrictToSubextension σ)).symm_apply_apply
          (algebraMap L M x)
RelativeIdeleGroup.norm_eq_prod_embeddings_in_galoisExtension

The field norm of a subextension, computed in an ambient finite Galois extension, is the product over all embeddings into that extension.

Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section EmbeddingsIntoGaloisExtension
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
theorem norm_eq_prod_embeddings_in_galoisExtension
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M] (x : L) :
    algebraMap K M (Algebra.norm K x) =
      ∏ f : L →ₐ[K] M, f x
Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M))
RelativeIdeleGroup.embeddingPolynomial

The linear polynomial representing a chosen K-embedding L → M.

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
def embeddingPolynomial
    {ι : Type z} [Fintype ι] [DecidableEq ι]
    (b : Module.Basis ι K L) (f : L →ₐ[K] M) :
    MvPolynomial ι M
RelativeIdeleGroup.eval_embeddingPolynomial
Source context 9 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
omit [Algebra L M] [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M] in
theorem eval_embeddingPolynomial
    {ι : Type z} [Fintype ι] [DecidableEq ι]
    (b : Module.Basis ι K L) (f : L →ₐ[K] M)
    (x : L) :
    MvPolynomial.eval
        (fun i ↦ algebraMap K M (b.repr x i))
        (embeddingPolynomial b f) =
      f x := by
  rw [embeddingPolynomial, map_sum]
  simp only [map_mul, MvPolynomial.eval_X,
    MvPolynomial.eval_C]
  calc
    ∑ i, algebraMap K M (b.repr x i) *
        f (b i) =
      ∑ i, f ((b.repr x i) • b i) := by
        apply Finset.sum_congr rfl
        intro i hi
        simp [Algebra.smul_def]
    _ = f (∑ i, (b.repr x i) • b i) := by
      rw [map_sum]
    _ = f x := by rw [b.sum_repr]
RelativeIdeleGroup.embeddingProductPolynomial

The universal product over all embeddings L →ₐ[K] M.

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
def embeddingProductPolynomial
    {ι : Type z} [Fintype ι] [DecidableEq ι]
    (b : Module.Basis ι K L) :
    MvPolynomial ι M
RelativeIdeleGroup.eval_embeddingProductPolynomial
Source context 9 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
omit [Algebra L M] [IsScalarTower K L M]
    [FiniteDimensional K M] [IsGalois K M] in
theorem eval_embeddingProductPolynomial
    {ι : Type z} [Fintype ι] [DecidableEq ι]
    (b : Module.Basis ι K L) (x : L) :
    MvPolynomial.eval
        (fun i ↦ algebraMap K M (b.repr x i))
        (embeddingProductPolynomial
          (M := M) b) =
      ∏ f : L →ₐ[K] M, f x := by
  simp [embeddingProductPolynomial]
RelativeIdeleGroup.map_normPolynomial_eq_embeddingProductPolynomial

The determinant-norm polynomial becomes the product of all embeddings after extending coefficients to the ambient Galois field.

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
theorem map_normPolynomial_eq_embeddingProductPolynomial
    [Infinite K]
    {ι : Type z} [Fintype ι] [DecidableEq ι]
    (b : Module.Basis ι K L) :
    MvPolynomial.map (algebraMap K M)
        (normPolynomial b) =
      embeddingProductPolynomial (M := M) b
RelativeIdeleGroup.scalarEmbedding

Scalar extension of an embedding L → M on tensor algebras.

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
def scalarEmbedding
    (A : Type*) [CommRing A] [Algebra K A]
    (f : L →ₐ[K] M) :
    A ⊗[K] L →ₐ[A] A ⊗[K] M
RelativeIdeleGroup.scalarEmbedding_tmul
Source context 9 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
omit [Algebra L M] [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M] in
theorem scalarEmbedding_tmul
    (A : Type*) [CommRing A] [Algebra K A]
    (f : L →ₐ[K] M) (a : A) (x : L) :
    scalarEmbedding A f (a ⊗ₜ[K] x) =
      a ⊗ₜ[K] f x
RelativeIdeleGroup.eval₂_embeddingPolynomial_baseChange

Evaluation of an embedding polynomial after arbitrary scalar extension is the corresponding tensor-algebra embedding.

Source context 9 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
omit [Algebra L M] [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M] in
theorem eval₂_embeddingPolynomial_baseChange
    (A : Type*) [CommRing A] [Algebra K A]
    {ι : Type z} [Fintype ι] [DecidableEq ι]
    (b : Module.Basis ι K L) (f : L →ₐ[K] M)
    (x : A ⊗[K] L) :
    MvPolynomial.eval₂
        ((Algebra.TensorProduct.includeRight
          (R := K) (A := A) (B := M)).toRingHom)
        (fun i ↦
          (Algebra.TensorProduct.includeLeft
            (R := K) (S := K) (A := A) (B := M))
            ((Algebra.TensorProduct.basis A b).repr x i))
        (embeddingPolynomial b f) =
      scalarEmbedding A f x := by
  simp only [embeddingPolynomial,
    MvPolynomial.eval₂_sum,
    MvPolynomial.eval₂_mul,
    MvPolynomial.eval₂_X,
    MvPolynomial.eval₂_C]
  calc
    ∑ i,
        (Algebra.TensorProduct.includeLeft
          (R := K) (S := K) (A := A) (B := M))
          ((Algebra.TensorProduct.basis A b).repr x i) *
        (Algebra.TensorProduct.includeRight
          (R := K) (A := A) (B := M))
          (f (b i)) =
      ∑ i, scalarEmbedding A f
        (((Algebra.TensorProduct.basis A b).repr x i) •
          Algebra.TensorProduct.basis A b i) := by
        apply Finset.sum_congr rfl
        intro i hi
        simp [Algebra.TensorProduct.basis_apply,
          Algebra.TensorProduct.tmul_mul_tmul,
          Algebra.smul_def]
    _ = scalarEmbedding A f
        (∑ i,
          ((Algebra.TensorProduct.basis A b).repr x i) •
            Algebra.TensorProduct.basis A b i) := by
      rw [map_sum]
    _ = scalarEmbedding A f x := by
      rw [(Algebra.TensorProduct.basis A b).sum_repr]
RelativeIdeleGroup.includeLeft_norm_eq_prod_scalarEmbeddings

Full scalar-extension norm formula for a subextension of a finite Galois extension.

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
theorem includeLeft_norm_eq_prod_scalarEmbeddings
    [Infinite K]
    (A : Type*) [CommRing A] [Algebra K A]
    [Nontrivial A] (x : A ⊗[K] L) :
    (Algebra.TensorProduct.includeLeft
      (R := K) (S := K) (A := A) (B := M))
        (Algebra.norm A x) =
      ∏ f : L →ₐ[K] M,
        scalarEmbedding A f x
RelativeIdeleGroup.includeLeft_norm_eq_prod_galoisCosets

Coset form of the scalar-extension formula. The product is indexed by Gal(M/K) / Gal(M/L).

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section UniversalPolynomial
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
theorem includeLeft_norm_eq_prod_galoisCosets
    [Infinite K]
    (A : Type*) [CommRing A] [Algebra K A]
    [Nontrivial A] (x : A ⊗[K] L) :
    (Algebra.TensorProduct.includeLeft
      (R := K) (S := K) (A := A) (B := M))
        (Algebra.norm A x) =
      ∏ q :
          (M ≃ₐ[K] M) ⧸
            fixingSubextension
              (K := K) (L := L) (M := M),
        scalarEmbedding A
          (cosetEquivEmbedding q) x
Source context 7 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section RelativeAdeles
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [NumberField K]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M))
RelativeIdeleGroup.adeleEmbedding

A field embedding inside an ambient Galois extension, extended to relative adèles.

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section RelativeAdeles
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [NumberField K]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
def adeleEmbedding (f : L →ₐ[K] M) :
    RelativeAdeleRing K L →ₐ[
      NumberField.AdeleRing (𝓞 K) K]
      RelativeAdeleRing K M
RelativeIdeleGroup.ideleEmbedding

The induced homomorphism on relative idèles.

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section RelativeAdeles
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [NumberField K]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
def ideleEmbedding (f : L →ₐ[K] M) :
    RelativeIdeleGroup K L →*
      RelativeIdeleGroup K M
RelativeIdeleGroup.adeleInclusion_norm_eq_prod_embeddings

The embedded-subextension adèle form of the Galois product norm formula.

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section RelativeAdeles
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [NumberField K]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
theorem adeleInclusion_norm_eq_prod_embeddings
    (x : RelativeAdeleRing K L) :
    adeleInclusion K M
        (Algebra.norm
          (NumberField.AdeleRing (𝓞 K) K) x) =
      ∏ f : L →ₐ[K] M,
        adeleEmbedding f x
RelativeIdeleGroup.inclusion_norm_eq_prod_embeddings

The embedded-subextension idèle form of the Galois product norm formula.

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section RelativeAdeles
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [NumberField K]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
theorem inclusion_norm_eq_prod_embeddings
    (a : RelativeIdeleGroup K L) :
    inclusion K M (norm K L a) =
      ∏ f : L →ₐ[K] M,
        ideleEmbedding f a
RelativeIdeleGroup.inclusion_norm_eq_prod_galoisCosets

The literal coset form for arbitrary relative idèles:

i_{M/K}(N_{L/K}(a)) = ∏_{σ ∈ Gal(M/K)/Gal(M/L)} σ(a).

Source context 8 commands

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

open scoped BigOperators TensorProduct
open NumberField
noncomputable section
namespace RelativeIdeleGroup
universe u v w z
section RelativeAdeles
variable
    {K : Type u} {L : Type v} {M : Type w}
    [Field K] [Field L] [Field M]
    [NumberField K]
    [Algebra K L] [Algebra K M] [Algebra L M]
    [IsScalarTower K L M]
    [FiniteDimensional K L] [FiniteDimensional K M]
    [IsGalois K M]
local instance :
    Fintype
      ((M ≃ₐ[K] M) ⧸
        fixingSubextension
          (K := K) (L := L) (M := M)) :=
  Fintype.ofFinite _
theorem inclusion_norm_eq_prod_galoisCosets
    (a : RelativeIdeleGroup K L) :
    inclusion K M (norm K L a) =
      ∏ q :
          (M ≃ₐ[K] M) ⧸
            fixingSubextension
              (K := K) (L := L) (M := M),
        ideleEmbedding
          (cosetEquivEmbedding q) a