Definitions/Def_LanglandsTunnell_ArtinFrobenius.lean
Chosen primes above, arithmetic Frobenius, and Artin symbol
Throughout, K and M are number fields with M a K-algebra. The first group of declarations records that \mathcal{O}_K \to \mathcal{O}_M is injective, and that for every v in the height-one spectrum of \mathcal{O}_K there exists a maximal ideal Q of \mathcal{O}_M with Q \cap \mathcal{O}_K = v (lying over, via integrality); primeAbove K M v names one such Q, chosen once and for all. Accompanying lemmas state that this chosen ideal is maximal, lies over v, is nonzero (any ideal contracting to v is nonzero, since v \neq 0), and has finite residue ring, and that \operatorname{Gal}(M/K) acts as a Galois group on the extension \mathcal{O}_K \to \mathcal{O}_M when M/K is Galois.
For M/K Galois, artinFrob K M v is Mathlib's arithmetic Frobenius arithFrobAt at the chosen prime primeAbove K M v, i.e. the element \sigma \in \operatorname{Gal}(M/K) with \sigma(x) \equiv x^{q} modulo that prime, q the residue cardinality of v; isArithFrobAt_artinFrob records the defining predicate IsArithFrobAt.
When in addition \operatorname{Gal}(M/K) is commutative, artinSymbol K M π£ is the monoid homomorphism, from the group of units of the fractional ideals of K whose valuation \operatorname{count}_w vanishes at every w \mid \mathfrak{f}, to \operatorname{Gal}(M/K), given by I \mapsto \prod_w (\mathrm{artinFrob}\ K\ M\ w)^{\operatorname{count}_w(I)} (a finitely supported product). Its value on the prime unit attached to v, for v \nmid \mathfrak{f}, is artinFrob K M v. Independence of the symbol from the choices of primes above, and reciprocity, are not asserted here.
Relation to Mathlib
The arithmetic Frobenius (arithFrobAt, IsArithFrobAt) and the IsGaloisGroup interface come from Mathlib; added here are a global choice of prime of \mathcal{O}_M above each finite place of K and the Artin symbol on ideals coprime to a modulus, built from the project's narrow ray class group vocabulary (coprimeToModulus, raySymbolHom, primeUnit).
Where it is used
This vocabulary belongs to the LanglandsβTunnell input of the argument, where characters of ray class groups of number fields are converted into characters of Galois groups, and Frobenius elements at places outside the modulus are needed to compare the resulting Galois representations with automorphic data.
References
- J. Neukirch, Algebraic Number Theory, Grundlehren der mathematischen Wissenschaften 322, Springer, 1999
- S. Lang, Algebraic Number Theory, 2nd edition, Graduate Texts in Mathematics 110, Springer, 1994
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 116 lines
- 15 declarations
- used in the statements of 10 theorems and imported by 25 proofs
- imports 1 definition modules
Source file: Definitions/Def_LanglandsTunnell_ArtinFrobenius.lean
Imports
Declarations
- instance
LanglandsTunnell.P2.Artin.isGaloisGroup_ringOfIntegers - theorem
LanglandsTunnell.P2.Artin.algebraMap_ringOfIntegers_injective - theorem
LanglandsTunnell.P2.Artin.exists_prime_over - def
LanglandsTunnell.P2.Artin.primeAbove - instance
LanglandsTunnell.P2.Artin.primeAbove_isMaximal - theorem
LanglandsTunnell.P2.Artin.under_primeAbove - instance
LanglandsTunnell.P2.Artin.primeAbove_liesOver - theorem
LanglandsTunnell.P2.Artin.ne_bot_of_under_eq - theorem
LanglandsTunnell.P2.Artin.primeAbove_ne_bot - instance
LanglandsTunnell.P2.Artin.primeAbove_finite - theorem
LanglandsTunnell.P2.Artin.finite_quotient_of_under_eq - def
LanglandsTunnell.P2.Artin.artinFrob - theorem
LanglandsTunnell.P2.Artin.isArithFrobAt_artinFrob - def
LanglandsTunnell.P2.Artin.artinSymbol - theorem
LanglandsTunnell.P2.Artin.artinSymbol_prime
Source
import Mathlib.NumberTheory.NumberField.Basic β import Mathlib.RingTheory.Frobenius β import Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas β import Mathlib.LinearAlgebra.FreeModule.IdealQuotient β import Mathlib.FieldTheory.Galois.IsGaloisGroup β import Definitions.Def_NarrowRayClassGroup set_option autoImplicit false noncomputable section namespace LanglandsTunnell.P2.Artin open NumberField IsDedekindDomain open Deep.NTSupply open scoped nonZeroDivisors section Frob variable (K M : Type*) [Field K] [NumberField K] [Field M] [NumberField M] [Algebra K M] instance isGaloisGroup_ringOfIntegers [IsGalois K M] : IsGaloisGroup (M ββ[K] M) (π K) (π M) := IsGaloisGroup.of_isFractionRing (M ββ[K] M) (π K) (π M) K M omit [NumberField K] [NumberField M] in theorem algebraMap_ringOfIntegers_injective : Function.Injective (algebraMap (π K) (π M)) := by intro x y h have h' : algebraMap (π K) M x = algebraMap (π K) M y := by rw [IsScalarTower.algebraMap_apply (π K) (π M) M, IsScalarTower.algebraMap_apply (π K) (π M) M, h] rw [IsScalarTower.algebraMap_apply (π K) K M, IsScalarTower.algebraMap_apply (π K) K M] at h' exact RingOfIntegers.coe_injective ((algebraMap K M).injective h') omit [NumberField M] in theorem exists_prime_over (v : HeightOneSpectrum (π K)) : β Q : Ideal (π M), Q.IsMaximal β§ Q.under (π K) = v.asIdeal := by haveI := v.isMaximal obtain β¨Q, hQ, hQvβ© := Ideal.exists_ideal_over_maximal_of_isIntegral v.asIdeal (by rw [(RingHom.injective_iff_ker_eq_bot _).mp (algebraMap_ringOfIntegers_injective K M)]; exact bot_le) exact β¨Q, hQ, hQvβ© def primeAbove (v : HeightOneSpectrum (π K)) : Ideal (π M) := (exists_prime_over K M v).choose variable (v : HeightOneSpectrum (π K)) instance primeAbove_isMaximal : (primeAbove K M v).IsMaximal := (exists_prime_over K M v).choose_spec.1 omit [NumberField M] in theorem under_primeAbove : (primeAbove K M v).under (π K) = v.asIdeal := (exists_prime_over K M v).choose_spec.2 instance primeAbove_liesOver : (primeAbove K M v).LiesOver v.asIdeal := β¨(under_primeAbove K M v).symmβ© omit [NumberField K] [NumberField M] in theorem ne_bot_of_under_eq {Q : Ideal (π M)} (hQ : Q.under (π K) = v.asIdeal) : Q β β₯ := fun h => by rw [h, Ideal.under_def, Ideal.comap_bot_of_injective _ (algebraMap_ringOfIntegers_injective K M)] at hQ exact v.ne_bot hQ.symm omit [NumberField M] in theorem primeAbove_ne_bot : primeAbove K M v β β₯ := ne_bot_of_under_eq K M v (under_primeAbove K M v) instance primeAbove_finite : Finite (π M β§Έ primeAbove K M v) := Ideal.finiteQuotientOfFreeOfNeBot _ (primeAbove_ne_bot K M v) omit [NumberField K] in theorem finite_quotient_of_under_eq {Q : Ideal (π M)} (hQ : Q.under (π K) = v.asIdeal) : Finite (π M β§Έ Q) := Ideal.finiteQuotientOfFreeOfNeBot _ (ne_bot_of_under_eq K M v hQ) end Frob section Artin variable (K M : Type*) [Field K] [NumberField K] [Field M] [NumberField M] [Algebra K M] [IsGalois K M] (v : HeightOneSpectrum (π K)) def artinFrob : M ββ[K] M := arithFrobAt (π K) (M ββ[K] M) (primeAbove K M v) theorem isArithFrobAt_artinFrob : IsArithFrobAt (π K) (artinFrob K M v) (primeAbove K M v) := IsArithFrobAt.arithFrobAt (π K) (M ββ[K] M) (primeAbove K M v) end Artin section Symbol open Deep.NTSupply open scoped nonZeroDivisors variable (K M : Type*) [Field K] [NumberField K] [Field M] [NumberField M] [Algebra K M] [IsGalois K M] [IsMulCommutative (M ββ[K] M)] open scoped IsMulCommutative def artinSymbol (π£ : Ideal (π K)) : β₯(coprimeToModulus K π£) β* (M ββ[K] M) := raySymbolHom K π£ (artinFrob K M) theorem artinSymbol_prime {π£ : Ideal (π K)} {v : HeightOneSpectrum (π K)} (hv : Β¬ v.asIdeal β£ π£) : artinSymbol K M π£ β¨primeUnit K v, primeUnit_mem_coprimeToModulus K hvβ© = artinFrob K M v := raySymbolHom_prime K π£ (artinFrob K M) hv end Symbol #print axioms LanglandsTunnell.P2.Artin.isGaloisGroup_ringOfIntegers #print axioms LanglandsTunnell.P2.Artin.algebraMap_ringOfIntegers_injective #print axioms LanglandsTunnell.P2.Artin.exists_prime_over #print axioms LanglandsTunnell.P2.Artin.primeAbove #print axioms LanglandsTunnell.P2.Artin.primeAbove_isMaximal #print axioms LanglandsTunnell.P2.Artin.under_primeAbove #print axioms LanglandsTunnell.P2.Artin.primeAbove_liesOver #print axioms LanglandsTunnell.P2.Artin.ne_bot_of_under_eq #print axioms LanglandsTunnell.P2.Artin.primeAbove_ne_bot #print axioms LanglandsTunnell.P2.Artin.primeAbove_finite #print axioms LanglandsTunnell.P2.Artin.finite_quotient_of_under_eq #print axioms LanglandsTunnell.P2.Artin.artinFrob #print axioms LanglandsTunnell.P2.Artin.isArithFrobAt_artinFrob #print axioms LanglandsTunnell.P2.Artin.artinSymbol #print axioms LanglandsTunnell.P2.Artin.artinSymbol_prime end LanglandsTunnell.P2.Artin end
Statements phrased using this module (10)
- Cubic base-change fibre: twist by a Galois character
AutomorphicForm.HeckeEigensystem.exists_char_twist_artinFrob_of_formalBaseChange_agreesAwayFromFinite_of_finrank_eq_three_of_coversModCentre_of_pos898 below Β· depth 14 - Norm compatibility of the order-4 and order-8 Artin ray symbols
LanglandsTunnell.P2.raySymbol_artinValue4_eq_raySymbol_artinValue_relNorm_of_inertia_rat2 below Β· depth 14 - Artin ray symbol trivial on narrow principal ideals
LanglandsTunnell.P2.raySymbol_artinValue_span_eq_one71 below Β· depth 14 - Per-place Artin value transfer across the Cβ β Cβ step
LanglandsTunnell.artinValue4_eq_artinValue_under_pow0 below Β· depth 15 - Artin symbol of a principal ideal congruent to 1
NumberField.exists_artinSymbol_principalUnit_eq_prod_of_isConj118 below Β· depth 15 - Abelian case: any arithmetic Frobenius at Q is the Artin element
LT.Artin.eq_artinFrob_of_isArithFrobAt0 below Β· depth 16 - Congruence units at ramified places are idelic norms
M4aHerbrand.unitIdele_mem_idelicNorm_range2 below Β· depth 16 - Artin symbol of a principal ideal on roots of unity
NumberField.raySymbol_artinFrob_apply_eq_pow_absNorm_of_pow_eq_one0 below Β· depth 16 - Ramified place yields local unit outside the reciprocity kernel
LanglandsTunnell.P2.Artin.exists_localUnit_notMem_principalIdeles_sup_range_idelicNorm_of_inertia_ne_bot253 below Β· depth 18 - Artin symbol nontrivial at a ramified real place
NumberField.exists_artinSymbol_principalUnit_ne_one_of_not_isReal119 below Β· depth 32