Definitions/Def_LanglandsTunnell_ArtinCoreCTM.lean
Ray-class vocabulary: relative norms, admissible moduli, adelic content
For number fields k \subseteq E the module first sets up the ideal-theoretic relative norm on the coprime-to-modulus groups. Here coprimeToModulus K π£ is the subgroup of units of the group of fractional ideals of K whose v-adic count vanishes at every v \mid \mathfrak f. placeUnder' sends a height-one prime w of \mathcal O_E to the prime below it, modulusExt k E π is the extended ideal \mathfrak c\mathcal O_E, and fracRelNormUnit is the ray symbol attached to w \mapsto \mathfrak p_w^{\,f(w/\mathfrak p_w)}, i.e. the multiplicative map sending a fractional ideal of E to the product of \mathfrak p_w^{f\cdot \mathrm{ord}_w}; relNormCTM is its restriction to a homomorphism \mathrm{coprimeToModulus}\,E\,(\mathfrak c\mathcal O_E) \to \mathrm{coprimeToModulus}\,k\,\mathfrak c. Adelically, placeOrd is the v-order of a finite idelic unit (minus the logarithm of its value), fadContentHom the induced content homomorphism to fractional-ideal units, projFin the projection of an adelic unit to its finite part, and placeOf/archRealProjTau/archSign record, for a real embedding \tau, the sign of the component of an adelic unit at the corresponding real place. The predicate IsAdjuster π£ u Ξ± asserts that the finite part of u\alpha^{-1} has valuation 1 at every v \mid \mathfrak f and is congruent to 1 there with precision \exp(-n_v), n_v the multiplicity of v in \mathfrak f, and that u\alpha^{-1} is positive at every real embedding; unitIdeles K π£ is the subgroup of adelic units satisfying these conditions outright. On the Galois side, resHom composes restriction of scalars with restriction to a normal subextension; admissibleExp K v = 4e_v(2)+2e_v(3)+1 and IsAdmissibleModulus K L π£ requires \mathfrak f \neq 0 together with v^{\mathrm{admissibleExp}} \mid \mathfrak f at every v with nontrivial inertia in \mathrm{Gal}(L/K). normRaySubgroup is the join of the narrow ray subgroup with the image of relNormCTM, and FirstInequalityCTM/SecondInequalityCTM are the two divisibilities between \#\mathrm{Gal}(L/K) and the index of that subgroup. primeCarrier/primeCarriers name the classes of primes coprime to the modulus, coprimeToModulus_antitone/ctmInclusion the monotonicity in the modulus. Finally ArtinFieldCore packages, for a prime carrier i, an auxiliary tower E \subseteq N, E \subseteq \Theta = E(\zeta_q) with a multiple \mathfrak m of \mathfrak f, a prime v \nmid \mathfrak m representing i, a prime w of E above v of residue degree 1, admissibility and unramifiedness conditions away from \mathfrak m\mathcal O_E, and injectivity of resHom, with derived data Ip, Ni, Οpi, Pi; ArtinPairCore does the same for two cores and a prescribed \sigma, carrying as a field the compatibility of the Artin symbol of L/K with the relative norm. IdeleFirstIneqData and IdeleFirstIneqDataAt assert the existence of an adelic norm homomorphism compatible with adjusters and with content, surjecting onto unitIdeles for admissible moduli, and whose image together with the principal ideles has index divisible by the degree.
Relation to Mathlib
Mathlib supplies the adele and finite adele rings, fractional ideals with their v-adic counts, infinite places and the arithmetic Frobenius; the ray-class layer used here (coprime-to-modulus and narrow ray subgroups, ray symbols, admissible moduli, the adelic content and adjuster predicates) is the project's own.
Where it is used
This is the class-field-theoretic vocabulary for the LanglandsβTunnell input to the proof: the two inequality predicates and the Artin-symbol cores are the data from which global reciprocity for abelian extensions of number fields is assembled, and that reciprocity underlies the construction of the Hecke characters used in LanglandsβTunnell, hence the modularity of the mod 3 representation attached to a Frey curve.
References
- J. Neukirch, Algebraic Number Theory, Grundlehren der mathematischen Wissenschaften 322, Springer, 1999, Ch. VI
- S. Lang, Algebraic Number Theory, 2nd ed., Graduate Texts in Mathematics 110, Springer, 1994
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1β154
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 510 lines
- 81 declarations
- used in the statements of 72 theorems and imported by 92 proofs
- imports 2 definition modules
Source file: Definitions/Def_LanglandsTunnell_ArtinCoreCTM.lean
Declarations
- def
HeckeCharacter.placeUnder' - theorem
HeckeCharacter.placeUnder'_asIdeal - abbrev
HeckeCharacter.modulusExt - def
HeckeCharacter.fracRelNormUnit - theorem
HeckeCharacter.placeUnder'_dvd_iff - def
HeckeCharacter.gcopNC2 - theorem
HeckeCharacter.coe_raySymbol_gcop_eq_fracRelNormUnit' - theorem
HeckeCharacter.fracRelNormUnit_mem_coprimeToModulus - def
HeckeCharacter.relNormCTM - theorem
HeckeCharacter.fad_one_apply - theorem
HeckeCharacter.fad_mul_apply - def
HeckeCharacter.placeOrd - theorem
HeckeCharacter.placeOrd_one - theorem
HeckeCharacter.valued_ne_zero_of_unit - theorem
HeckeCharacter.placeOrd_mul - theorem
HeckeCharacter.placeOrd_eq_zero_iff - theorem
HeckeCharacter.finite_support_placeOrd - def
HeckeCharacter.fadContentHom - def
HeckeCharacter.projFin - def
HeckeCharacter.placeOf - theorem
HeckeCharacter.isReal_compOfRealHom - theorem
HeckeCharacter.isReal_placeOf - def
HeckeCharacter.archRealProjTau - theorem
HeckeCharacter.archRealProjTau_mul - theorem
HeckeCharacter.archRealProjTau_ne_zero - def
HeckeCharacter.archSign - theorem
HeckeCharacter.archSign_of_fst_eq_one - theorem
HeckeCharacter.archSign_mul - theorem
HeckeCharacter.archSign_one - theorem
HeckeCharacter.archSign_inv - theorem
HeckeCharacter.unit_cong_mul - theorem
HeckeCharacter.unit_cong_div - theorem
HeckeCharacter.fad_units_inv_apply - structure
HeckeCharacter.IsAdjuster - field
HeckeCharacter.IsAdjuster.cong - field
HeckeCharacter.IsAdjuster.AdeleRing - field
HeckeCharacter.IsAdjuster.AdeleRing - field
HeckeCharacter.IsAdjuster.sign - def
LanglandsTunnell.P2.Artin.primeCarrier - def
LanglandsTunnell.P2.Artin.primeCarriers - theorem
LanglandsTunnell.P2.Artin.coprimeToModulus_antitone - def
LanglandsTunnell.P2.Artin.ctmInclusion - def
LanglandsTunnell.P2.Artin.resHom - def
LanglandsTunnell.P2.Artin.admissibleExp - def
LanglandsTunnell.P2.Artin.IsAdmissibleModulus - def
LanglandsTunnell.P2.Artin.normRaySubgroup - def
LanglandsTunnell.P2.Artin.SecondInequalityCTM - def
LanglandsTunnell.P2.Artin.FirstInequalityCTM - def
LanglandsTunnell.P2.Artin.unitIdeles - structure
LanglandsTunnell.P2.Artin.ArtinFieldCore - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.E - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.N - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.v - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.hvi - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.w - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.hw - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.hwv - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.hf - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.q - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.htop - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.hunr - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.hadm - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.hI_E - field
LanglandsTunnell.P2.Artin.ArtinFieldCore.hresInj - def
LanglandsTunnell.P2.Artin.ArtinFieldCore.Ip - def
LanglandsTunnell.P2.Artin.ArtinFieldCore.Ni - def
LanglandsTunnell.P2.Artin.ArtinFieldCore.Οpi - def
LanglandsTunnell.P2.Artin.ArtinFieldCore.Pi - structure
LanglandsTunnell.P2.Artin.ArtinPairCore - field
LanglandsTunnell.P2.Artin.ArtinPairCore.ci - field
LanglandsTunnell.P2.Artin.ArtinPairCore.E'' - field
LanglandsTunnell.P2.Artin.ArtinPairCore.N'' - field
LanglandsTunnell.P2.Artin.ArtinPairCore.h'' - field
LanglandsTunnell.P2.Artin.ArtinPairCore.hi'' - field
LanglandsTunnell.P2.Artin.ArtinPairCore.hj'' - field
LanglandsTunnell.P2.Artin.ArtinPairCore.hadm'' - field
LanglandsTunnell.P2.Artin.ArtinPairCore.hcompat'' - field
LanglandsTunnell.P2.Artin.ArtinPairCore.hresInj'' - def
LanglandsTunnell.P2.Artin.IdeleFirstIneqData - def
LanglandsTunnell.P2.Artin.IdeleFirstIneqDataAt
Source
import Definitions.Def_LanglandsTunnell_ArtinFrobenius import Definitions.Def_M4aHerbrand_IdeleClassVocab set_option autoImplicit false noncomputable section open Deep.NTSupply NumberField IsDedekindDomain WithZero open scoped nonZeroDivisors IsMulCommutative Pointwise namespace HeckeCharacter section RelNorm variable (k E : Type*) [Field k] [NumberField k] [Field E] [NumberField E] [Algebra k E] def placeUnder' (w : HeightOneSpectrum (π E)) : HeightOneSpectrum (π k) := β¨w.asIdeal.under (π k), inferInstance, fun h => w.ne_bot (Ideal.eq_bot_of_comap_eq_bot h)β© omit [NumberField k] [NumberField E] in theorem placeUnder'_asIdeal (w : HeightOneSpectrum (π E)) : (placeUnder' k E w).asIdeal = w.asIdeal.under (π k) := rfl abbrev modulusExt (π : Ideal (π k)) : Ideal (π E) := π .map (algebraMap (π k) (π E)) def fracRelNormUnit : (FractionalIdeal ((π E)β°) E)Λ£ β* (FractionalIdeal ((π k)β°) k)Λ£ := raySymbolUnitsHom E (fun w => primeUnit k (placeUnder' k E w) ^ ((placeUnder' k E w).asIdeal.inertiaDeg' w.asIdeal)) theorem placeUnder'_dvd_iff (π : Ideal (π k)) (w : HeightOneSpectrum (π E)) : (placeUnder' k E w).asIdeal β£ π β w.asIdeal β£ modulusExt k E π := by rw [placeUnder'_asIdeal, modulusExt, Ideal.dvd_iff_le, Ideal.dvd_iff_le, Ideal.map_le_iff_le_comap] def gcopNC2 (π : Ideal (π k)) (w : HeightOneSpectrum (π E)) : β₯(coprimeToModulus k π ) := by classical exact if h : Β¬ (placeUnder' k E w).asIdeal β£ π then β¨primeUnit k (placeUnder' k E w) ^ ((placeUnder' k E w).asIdeal.inertiaDeg' w.asIdeal), pow_mem (primeUnit_mem_coprimeToModulus k h) _β© else 1 theorem coe_raySymbol_gcop_eq_fracRelNormUnit' {π : Ideal (π k)} (Y : (FractionalIdeal ((π E)β°) E)Λ£) (hY : Y β coprimeToModulus E (modulusExt k E π )) : ((raySymbol E (gcopNC2 k E π ) (Y : FractionalIdeal ((π E)β°) E) : β₯(coprimeToModulus k π )) : (FractionalIdeal ((π k)β°) k)Λ£) = fracRelNormUnit k E Y := by unfold raySymbol refine (MonoidHom.map_finprod ((coprimeToModulus k π ).subtype) (hasFiniteMulSupport_raySymbol_factors E (gcopNC2 k E π ) _)).trans ?_ rw [show fracRelNormUnit k E Y = βαΆ w, (primeUnit k (placeUnder' k E w) ^ ((placeUnder' k E w).asIdeal.inertiaDeg' w.asIdeal)) ^ FractionalIdeal.count E w (Y : FractionalIdeal ((π E)β°) E) from rfl] refine finprod_congr (fun w => ?_) rw [map_zpow, Subgroup.coe_subtype] classical by_cases hw : (placeUnder' k E w).asIdeal β£ π Β· have hct : FractionalIdeal.count E w (Y : FractionalIdeal ((π E)β°) E) = 0 := (mem_coprimeToModulus_iff E).mp hY w ((placeUnder'_dvd_iff k E π w).mp hw) rw [hct]; simp Β· simp only [gcopNC2]; rw [dif_pos hw] theorem fracRelNormUnit_mem_coprimeToModulus {π : Ideal (π k)} {Y : (FractionalIdeal ((π E)β°) E)Λ£} (hY : Y β coprimeToModulus E (modulusExt k E π )) : fracRelNormUnit k E Y β coprimeToModulus k π := coe_raySymbol_gcop_eq_fracRelNormUnit' k E Y hY βΈ (raySymbol E (gcopNC2 k E π ) _).2 def relNormCTM (π : Ideal (π k)) : β₯(coprimeToModulus E (modulusExt k E π )) β* β₯(coprimeToModulus k π ) := ((fracRelNormUnit k E).comp (coprimeToModulus E (modulusExt k E π )).subtype).codRestrict (coprimeToModulus k π ) (fun Y => fracRelNormUnit_mem_coprimeToModulus k E Y.2) end RelNorm section Content variable (K : Type*) [Field K] [NumberField K] theorem fad_one_apply (v : HeightOneSpectrum (π K)) : ((1 : FiniteAdeleRing (π K) K) v : v.adicCompletion K) = 1 := rfl theorem fad_mul_apply (a b : FiniteAdeleRing (π K) K) (v : HeightOneSpectrum (π K)) : ((a * b : FiniteAdeleRing (π K) K) v : v.adicCompletion K) = a v * b v := rfl def placeOrd (u : (FiniteAdeleRing (π K) K)Λ£) (v : HeightOneSpectrum (π K)) : β€ := -WithZero.log (Valued.v ((u : FiniteAdeleRing (π K) K) v)) theorem placeOrd_one (v : HeightOneSpectrum (π K)) : placeOrd K 1 v = 0 := by unfold placeOrd rw [Units.val_one, fad_one_apply, map_one, WithZero.log_one, neg_zero] theorem valued_ne_zero_of_unit (u : (FiniteAdeleRing (π K) K)Λ£) (v : HeightOneSpectrum (π K)) : Valued.v ((u : FiniteAdeleRing (π K) K) v) β 0 := by rw [ne_eq, map_eq_zero] exact ((FiniteAdeleRing.isUnit_iff.mp u.isUnit).1 v) theorem placeOrd_mul (u u' : (FiniteAdeleRing (π K) K)Λ£) (v : HeightOneSpectrum (π K)) : placeOrd K (u * u') v = placeOrd K u v + placeOrd K u' v := by unfold placeOrd rw [Units.val_mul, fad_mul_apply, map_mul, WithZero.log_mul (valued_ne_zero_of_unit K u v) (valued_ne_zero_of_unit K u' v), neg_add] theorem placeOrd_eq_zero_iff (u : (FiniteAdeleRing (π K) K)Λ£) (v : HeightOneSpectrum (π K)) : placeOrd K u v = 0 β Valued.v ((u : FiniteAdeleRing (π K) K) v) = 1 := by unfold placeOrd rw [neg_eq_zero] constructor Β· intro hlog have h := WithZero.exp_log (x := Valued.v ((u : FiniteAdeleRing (π K) K) v)) (valued_ne_zero_of_unit K u v) rw [hlog, WithZero.exp_zero] at h exact h.symm Β· intro h; rw [h, WithZero.log_one] theorem finite_support_placeOrd (u : (FiniteAdeleRing (π K) K)Λ£) : (Function.support (placeOrd K u)).Finite := by have h := FiniteAdeleRing.unitsEquiv_finite_valued_eq_one (R := π K) (K := K) u rw [Filter.eventually_cofinite] at h refine h.subset fun v hv => ?_ rw [Function.mem_support] at hv rw [Set.mem_setOf_eq] intro hval exact hv ((placeOrd_eq_zero_iff K u v).mpr (by set_option backward.isDefEq.respectTransparency false in simpa [RestrictedProduct.unitsEquiv_apply] using hval)) def fadContentHom : (FiniteAdeleRing (π K) K)Λ£ β* (FractionalIdeal ((π K)β°) K)Λ£ where toFun u := βαΆ v : HeightOneSpectrum (π K), (primeUnit K v) ^ (placeOrd K u v) map_one' := by simp [placeOrd_one] map_mul' u u' := by simp only [placeOrd_mul, zpow_add] exact finprod_mul_distrib ((finite_support_placeOrd K u).subset fun v hv => by simp only [Function.mem_mulSupport, ne_eq] at hv β’ contrapose! hv; rw [Function.mem_support, not_not] at hv; simp [hv]) ((finite_support_placeOrd K u').subset fun v hv => by simp only [Function.mem_mulSupport, ne_eq] at hv β’ contrapose! hv; rw [Function.mem_support, not_not] at hv; simp [hv]) def projFin : (AdeleRing (π K) K)Λ£ β* (FiniteAdeleRing (π K) K)Λ£ := (MonoidHom.snd (InfiniteAdeleRing K)Λ£ (FiniteAdeleRing (π K) K)Λ£).comp MulEquiv.prodUnits.toMonoidHom noncomputable def placeOf (Ο : K β+* β) : InfinitePlace K := InfinitePlace.mk (Complex.ofRealHom.comp Ο) omit [NumberField K] in theorem isReal_compOfRealHom (Ο : K β+* β) : ComplexEmbedding.IsReal (Complex.ofRealHom.comp Ο) := RingHom.ext fun x => Complex.conj_ofReal (Ο x) omit [NumberField K] in theorem isReal_placeOf (Ο : K β+* β) : (placeOf K Ο).IsReal := β¨_, isReal_compOfRealHom K Ο, rflβ© open InfinitePlace.Completion in noncomputable def archRealProjTau (Ο : K β+* β) (u : (AdeleRing (π K) K)Λ£) : β := ringEquivRealOfIsReal (isReal_placeOf K Ο) (((u : AdeleRing (π K) K).1 : InfiniteAdeleRing K) (placeOf K Ο)) open InfinitePlace.Completion in theorem archRealProjTau_mul (Ο : K β+* β) (u u' : (AdeleRing (π K) K)Λ£) : archRealProjTau K Ο (u * u') = archRealProjTau K Ο u * archRealProjTau K Ο u' := by unfold archRealProjTau rw [β map_mul]; rfl open InfinitePlace.Completion in theorem archRealProjTau_ne_zero (Ο : K β+* β) (u : (AdeleRing (π K) K)Λ£) : archRealProjTau K Ο u β 0 := by intro h have h1 : archRealProjTau K Ο u * archRealProjTau K Ο uβ»ΒΉ = 1 := by rw [β archRealProjTau_mul, mul_inv_cancel] unfold archRealProjTau; rw [Units.val_one] exact (congrArg (ringEquivRealOfIsReal (isReal_placeOf K Ο)) rfl).trans (map_one _) rw [h, zero_mul] at h1; exact zero_ne_one h1 def archSign (Ο : K β+* β) (u : (AdeleRing (π K) K)Λ£) : Prop := 0 < archRealProjTau K Ο u open InfinitePlace.Completion in theorem archSign_of_fst_eq_one (Ο : K β+* β) {u : (AdeleRing (π K) K)Λ£} (huarch : (u : AdeleRing (π K) K).1 = 1) : archSign K Ο u := by show (0:β) < ringEquivRealOfIsReal (isReal_placeOf K Ο) _ rw [huarch, show ((1 : InfiniteAdeleRing K) (placeOf K Ο)) = 1 from rfl, map_one] exact one_pos theorem archSign_mul (Ο : K β+* β) (u u' : (AdeleRing (π K) K)Λ£) : archSign K Ο (u * u') β (archSign K Ο u β archSign K Ο u') := by unfold archSign; rw [archRealProjTau_mul] constructor Β· intro hmul rcases mul_pos_iff.mp hmul with β¨h1, h2β© | β¨h1, h2β© Β· exact iff_of_true h1 h2 Β· exact iff_of_false h1.not_gt h2.not_gt Β· intro hiff rcases (archRealProjTau_ne_zero K Ο u).lt_or_gt with h1 | h1 Β· have h2 := (not_iff_not.mpr hiff).mp h1.not_gt exact mul_pos_of_neg_of_neg h1 ((archRealProjTau_ne_zero K Ο u').lt_or_gt.resolve_right h2) Β· exact mul_pos h1 (hiff.mp h1) theorem archSign_one (Ο : K β+* β) : archSign K Ο 1 := archSign_of_fst_eq_one K Ο rfl theorem archSign_inv (Ο : K β+* β) (u : (AdeleRing (π K) K)Λ£) : archSign K Ο uβ»ΒΉ β archSign K Ο u := by have h := archSign_mul K Ο u uβ»ΒΉ rw [mul_inv_cancel, iff_true_intro (archSign_one K Ο), true_iff] at h exact h.symm theorem unit_cong_mul {v : HeightOneSpectrum (π K)} {Ξ΅ : β€α΅β°} {a b : v.adicCompletion K} (hva : Valued.v a = 1) (hca : Valued.v (a - 1) β€ Ξ΅) (hvb : Valued.v b = 1) (hcb : Valued.v (b - 1) β€ Ξ΅) : Valued.v (a * b) = 1 β§ Valued.v (a * b - 1) β€ Ξ΅ := by refine β¨by rw [map_mul, hva, hvb, one_mul], ?_β© have heq : a * b - 1 = a * (b - 1) + (a - 1) := by ring calc Valued.v (a * b - 1) = Valued.v (a * (b - 1) + (a - 1)) := by rw [heq] _ β€ max (Valued.v (a * (b - 1))) (Valued.v (a - 1)) := Valuation.map_add _ _ _ _ β€ Ξ΅ := by rw [map_mul, hva, one_mul] exact max_le hcb hca theorem unit_cong_div {v : HeightOneSpectrum (π K)} {Ξ΅ : β€α΅β°} {a b : v.adicCompletion K} (hca : Valued.v (a - 1) β€ Ξ΅) (hvb : Valued.v b = 1) (hcb : Valued.v (b - 1) β€ Ξ΅) : Valued.v (a * bβ»ΒΉ - 1) β€ Ξ΅ := by have hb0 : b β 0 := fun h => by simp [h] at hvb have heq : a * bβ»ΒΉ - 1 = (a - b) * bβ»ΒΉ := by field_simp rw [heq, map_mul, map_invβ, hvb, inv_one, mul_one] calc Valued.v (a - b) = Valued.v ((a - 1) - (b - 1)) := by ring_nf _ β€ max (Valued.v (a - 1)) (Valued.v (b - 1)) := Valuation.map_sub _ _ _ _ β€ Ξ΅ := max_le hca hcb theorem fad_units_inv_apply (X : (FiniteAdeleRing (π K) K)Λ£) (v : HeightOneSpectrum (π K)) : (((Xβ»ΒΉ : (FiniteAdeleRing (π K) K)Λ£) : FiniteAdeleRing (π K) K) v) = (((X : (FiniteAdeleRing (π K) K)Λ£) : FiniteAdeleRing (π K) K) v)β»ΒΉ := by refine eq_inv_of_mul_eq_one_right ?_ rw [β fad_mul_apply, β Units.val_mul, mul_inv_cancel, Units.val_one, fad_one_apply] structure IsAdjuster (π£ : Ideal (π K)) (u : (AdeleRing (π K) K)Λ£) (Ξ± : KΛ£) : Prop where cong : β v : HeightOneSpectrum (π K), v.asIdeal β£ π£ β Valued.v ((((u * (Units.map (algebraMap K (AdeleRing (π K) K)) Ξ±)β»ΒΉ : (AdeleRing (π K) K)Λ£) : AdeleRing (π K) K).2 : FiniteAdeleRing (π K) K) v) = 1 β§ Valued.v ((((u * (Units.map (algebraMap K (AdeleRing (π K) K)) Ξ±)β»ΒΉ : (AdeleRing (π K) K)Λ£) : AdeleRing (π K) K).2 : FiniteAdeleRing (π K) K) v - 1) β€ WithZero.exp (-((Associates.mk v.asIdeal).count (Associates.mk π£).factors : β€)) sign : β Ο : K β+* β, archSign K Ο (u * (Units.map (algebraMap K (AdeleRing (π K) K)) Ξ±)β»ΒΉ) end Content end HeckeCharacter namespace LanglandsTunnell.P2.Artin open NumberField IsDedekindDomain Deep.NTSupply HeckeCharacter WithZero section Carriers variable (K : Type*) [Field K] [NumberField K] (π£ : Ideal (π K)) def primeCarrier (v : HeightOneSpectrum (π K)) (hv : Β¬ v.asIdeal β£ π£) : β₯(coprimeToModulus K π£) := β¨primeUnit K v, primeUnit_mem_coprimeToModulus K hvβ© def primeCarriers : Set β₯(coprimeToModulus K π£) := {x | β (v : HeightOneSpectrum (π K)) (hv : Β¬ v.asIdeal β£ π£), x = primeCarrier K π£ v hv} end Carriers section Inclusion variable (K : Type*) [Field K] [NumberField K] theorem coprimeToModulus_antitone {π£ πͺ : Ideal (π K)} (h : π£ β£ πͺ) : coprimeToModulus K πͺ β€ coprimeToModulus K π£ := fun _ hx v hv => hx v (dvd_trans hv h) noncomputable def ctmInclusion {π£ πͺ : Ideal (π K)} (h : π£ β£ πͺ) : β₯(coprimeToModulus K πͺ) β* β₯(coprimeToModulus K π£) := Subgroup.inclusion (coprimeToModulus_antitone K h) end Inclusion section Tower variable (K M E N : Type*) [Field K] [NumberField K] [Field M] [NumberField M] [Field E] [NumberField E] [Field N] [NumberField N] [Algebra K M] [Algebra K E] [Algebra K N] [Algebra M N] [Algebra E N] [IsScalarTower K M N] [IsScalarTower K E N] [IsGalois K M] [IsGalois E N] def resHom : (N ββ[E] N) β* (M ββ[K] M) := (AlgEquiv.restrictNormalHom M).comp { toFun := fun Ο => Ο.restrictScalars K map_one' := AlgEquiv.ext fun _ => rfl map_mul' := fun _ _ => AlgEquiv.ext fun _ => rfl } end Tower section Admissible variable (K L : Type*) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [IsGalois K L] def admissibleExp (v : HeightOneSpectrum (π K)) : β := 4 * Ideal.ramificationIdx' (Ideal.span {(2 : β€)}) v.asIdeal + 2 * Ideal.ramificationIdx' (Ideal.span {(3 : β€)}) v.asIdeal + 1 def IsAdmissibleModulus (π£ : Ideal (π K)) : Prop := π£ β β₯ β§ β v : HeightOneSpectrum (π K), (primeAbove K L v).inertia (L ββ[K] L) β β₯ β v.asIdeal ^ admissibleExp K v β£ π£ end Admissible section DefN variable (K L : Type*) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] def normRaySubgroup (π£ : Ideal (π K)) : Subgroup β₯(coprimeToModulus K π£) := (narrowRaySubgroup K π£).subgroupOf (coprimeToModulus K π£) β (HeckeCharacter.relNormCTM K L π£).range end DefN section Pincer variable (K L : Type*) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [IsGalois K L] [IsMulCommutative (L ββ[K] L)] def SecondInequalityCTM (π£ : Ideal (π K)) : Prop := (normRaySubgroup K L π£).index β£ Nat.card (L ββ[K] L) def FirstInequalityCTM (π£ : Ideal (π K)) : Prop := Nat.card (L ββ[K] L) β£ (normRaySubgroup K L π£).index end Pincer section UnitIdeles variable (K : Type*) [Field K] [NumberField K] (π£ : Ideal (π K)) def unitIdeles : Subgroup (AdeleRing (π K) K)Λ£ where carrier := {u | (β v : HeightOneSpectrum (π K), Valued.v (((projFin K u : (FiniteAdeleRing (π K) K)Λ£) : FiniteAdeleRing (π K) K) v) = 1) β§ (β v : HeightOneSpectrum (π K), v.asIdeal β£ π£ β Valued.v (((projFin K u : (FiniteAdeleRing (π K) K)Λ£) : FiniteAdeleRing (π K) K) v - 1) β€ exp (-((Associates.mk v.asIdeal).count (Associates.mk π£).factors : β€))) β§ β Ο : K β+* β, archSign K Ο u} one_mem' := β¨fun v => by rw [map_one, Units.val_one, fad_one_apply, map_one], fun v _ => by rw [map_one, Units.val_one, fad_one_apply, sub_self, map_zero]; exact zero_le', fun Ο => archSign_one K Οβ© mul_mem' {u u'} hu hu' := by refine β¨fun v => ?_, fun v hv => ?_, fun Ο => (archSign_mul K Ο u u').mpr (iff_of_true (hu.2.2 Ο) (hu'.2.2 Ο))β© Β· rw [map_mul, Units.val_mul, fad_mul_apply, map_mul, hu.1 v, hu'.1 v, one_mul] Β· rw [map_mul, Units.val_mul, fad_mul_apply] exact (unit_cong_mul K (hu.1 v) (hu.2.1 v hv) (hu'.1 v) (hu'.2.1 v hv)).2 inv_mem' {u} hu := by refine β¨fun v => ?_, fun v hv => ?_, fun Ο => (archSign_inv K Ο u).mpr (hu.2.2 Ο)β© Β· rw [map_inv, fad_units_inv_apply, map_invβ, hu.1 v, inv_one] Β· rw [map_inv, fad_units_inv_apply] have h := unit_cong_div K (a := (1 : v.adicCompletion K)) (by rw [sub_self, map_zero]; exact zero_le') (hu.1 v) (hu.2.1 v hv) rwa [one_mul] at h end UnitIdeles structure ArtinFieldCore (K L : Type*) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [IsGalois K L] [IsMulCommutative (L ββ[K] L)] (π£ : Ideal (π K)) (i : β₯(primeCarriers K π£)) where E : Type* N : Type* Ξ : Type* [instFE : Field E] [instNFE : NumberField E] [instFN : Field N] [instNFN : NumberField N] [instFΞ : Field Ξ] [instNFΞ : NumberField Ξ] [instAKE : Algebra K E] [instAKN : Algebra K N] [instAEN : Algebra E N] [instALN : Algebra L N] [instAEΞ : Algebra E Ξ] [instANΞ : Algebra N Ξ] [instSTKEN : IsScalarTower K E N] [instSTKLN : IsScalarTower K L N] [instSTENΞ : IsScalarTower E N Ξ] [instGEN : IsGalois E N] [instGEΞ : IsGalois E Ξ] [instCN : IsMulCommutative (N ββ[E] N)] [instCΞ : IsMulCommutative (Ξ ββ[E] Ξ)] πͺ : Ideal (π K) hπͺ : π£ β£ πͺ v : HeightOneSpectrum (π K) hvπͺ : Β¬ v.asIdeal β£ πͺ hvi : primeCarrier K π£ v (fun hv => hvπͺ (dvd_trans hv hπͺ)) = (i : β₯(coprimeToModulus K π£)) w : HeightOneSpectrum (π E) hw : Β¬ w.asIdeal β£ modulusExt K E πͺ hwv : w.asIdeal.under (π K) = v.asIdeal hf : v.asIdeal.inertiaDeg' w.asIdeal = 1 q : β [instNZq : NeZero q] ΞΆ : Ξ hΞΆ : IsPrimitiveRoot ΞΆ q htop : (IntermediateField.adjoin E {ΞΆ} : IntermediateField E Ξ) = β€ hqπͺ : Ideal.span {(q : π E)} β£ modulusExt K E πͺ hunr : β v' : HeightOneSpectrum (π E), Β¬ v'.asIdeal β£ modulusExt K E πͺ β ((primeAbove E Ξ v').under (π N)).inertia (N ββ[E] N) = β₯ hadm : IsAdmissibleModulus E N (modulusExt K E πͺ) hI_E : β w' : HeightOneSpectrum (π E), Β¬ w'.asIdeal β£ modulusExt K E πͺ β ((primeAbove E N w').under (π L)).inertia (L ββ[K] L) = β₯ hresInj : Function.Injective (resHom K L E N) attribute [instance] ArtinFieldCore.instFE ArtinFieldCore.instNFE ArtinFieldCore.instFN ArtinFieldCore.instNFN ArtinFieldCore.instFΞ ArtinFieldCore.instNFΞ ArtinFieldCore.instAKE ArtinFieldCore.instAKN ArtinFieldCore.instAEN ArtinFieldCore.instALN ArtinFieldCore.instAEΞ ArtinFieldCore.instANΞ ArtinFieldCore.instSTKEN ArtinFieldCore.instSTKLN ArtinFieldCore.instSTENΞ ArtinFieldCore.instGEN ArtinFieldCore.instGEΞ ArtinFieldCore.instCN ArtinFieldCore.instCΞ ArtinFieldCore.instNZq section PerICore set_option maxSynthPendingDepth 3 variable {K L : Type*} [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [IsGalois K L] [IsMulCommutative (L ββ[K] L)] {π£ : Ideal (π K)} {i : β₯(primeCarriers K π£)} (c : ArtinFieldCore K L π£ i) def ArtinFieldCore.Ip : Type _ := β₯(coprimeToModulus c.E (modulusExt K c.E c.πͺ)) instance : CommGroup c.Ip := inferInstanceAs (CommGroup β₯(coprimeToModulus c.E (modulusExt K c.E c.πͺ))) def ArtinFieldCore.Ni : c.Ip β* β₯(coprimeToModulus K π£) := (ctmInclusion K c.hπͺ).comp (relNormCTM K c.E c.πͺ) def ArtinFieldCore.Οpi : c.Ip β* (L ββ[K] L) := (resHom K L c.E c.N).comp (artinSymbol c.E c.N (modulusExt K c.E c.πͺ)) def ArtinFieldCore.Pi : c.Ip := β¨primeUnit c.E c.w, primeUnit_mem_coprimeToModulus c.E c.hwβ© end PerICore structure ArtinPairCore (K L : Type*) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [IsGalois K L] [IsMulCommutative (L ββ[K] L)] (π£ : Ideal (π K)) (Ο : L ββ[K] L) {i j : β₯(primeCarriers K π£)} (ci : ArtinFieldCore K L π£ i) (cj : ArtinFieldCore K L π£ j) where E'' : Type* N'' : Type* [instFE : Field E''] [instNFE : NumberField E''] [instFN : Field N''] [instNFN : NumberField N''] [instAKE : Algebra K E''] [instAKN : Algebra K N''] [instAiE : Algebra ci.E E''] [instAjE : Algebra cj.E E''] [instSTKiE : IsScalarTower K ci.E E''] [instSTKjE : IsScalarTower K cj.E E''] [instAEN : Algebra E'' N''] [instALN : Algebra L N''] [instSTKEN : IsScalarTower K E'' N''] [instSTKLN : IsScalarTower K L N''] [instGEN : IsGalois E'' N''] [instCN : IsMulCommutative (N'' ββ[E''] N'')] πͺ'' : Ideal (π K) h'' : π£ β£ πͺ'' hi'' : ci.πͺ β£ πͺ'' hj'' : cj.πͺ β£ πͺ'' hadm'' : IsAdmissibleModulus E'' N'' (modulusExt K E'' πͺ'') hcompat'' : β B : β₯(coprimeToModulus E'' (modulusExt K E'' πͺ'')), artinSymbol K L π£ (ctmInclusion K h'' (relNormCTM K E'' πͺ'' B)) = resHom K L E'' N'' (artinSymbol E'' N'' (modulusExt K E'' πͺ'') B) hΟ'' : Ο β (resHom K L E'' N'').range hresInj'' : Function.Injective (resHom K L E'' N'') attribute [instance] ArtinPairCore.instFE ArtinPairCore.instNFE ArtinPairCore.instFN ArtinPairCore.instNFN ArtinPairCore.instAKE ArtinPairCore.instAKN ArtinPairCore.instAiE ArtinPairCore.instAjE ArtinPairCore.instSTKiE ArtinPairCore.instSTKjE ArtinPairCore.instAEN ArtinPairCore.instALN ArtinPairCore.instSTKEN ArtinPairCore.instSTKLN ArtinPairCore.instGEN ArtinPairCore.instCN section IdeleData variable (K M : Type*) [Field K] [NumberField K] [Field M] [NumberField M] [Algebra K M] [IsGalois K M] [IsMulCommutative (M ββ[K] M)] def IdeleFirstIneqData (F : IntermediateField K M) (π£ : Ideal (π K)) : Prop := β Nrm : (AdeleRing (π F) F)Λ£ β* (AdeleRing (π K) K)Λ£, (β {u : (AdeleRing (π F) F)Λ£} {Ξ± : (F)Λ£}, IsAdjuster F (modulusExt K F π£) u Ξ± β IsAdjuster K π£ (Nrm u) (Units.map (Algebra.norm K) Ξ±)) β§ (β u : (AdeleRing (π F) F)Λ£, fadContentHom K (projFin K (Nrm u)) = fracRelNormUnit K F (fadContentHom F (projFin F u))) β§ (IsAdmissibleModulus K F π£ β unitIdeles K π£ β€ Nrm.range) β§ Module.finrank K F β£ (M4aHerbrand.principalIdeles (π K) K β Nrm.range).index end IdeleData section IdeleDataTop variable (K M : Type*) [Field K] [NumberField K] [Field M] [NumberField M] [Algebra K M] def IdeleFirstIneqDataAt (π£ : Ideal (π K)) : Prop := β Nrm : (AdeleRing (π M) M)Λ£ β* (AdeleRing (π K) K)Λ£, (β {u : (AdeleRing (π M) M)Λ£} {Ξ± : MΛ£}, IsAdjuster M (modulusExt K M π£) u Ξ± β IsAdjuster K π£ (Nrm u) (Units.map (Algebra.norm K) Ξ±)) β§ (β u : (AdeleRing (π M) M)Λ£, fadContentHom K (projFin K (Nrm u)) = fracRelNormUnit K M (fadContentHom M (projFin M u))) β§ (IsAdmissibleModulus K M π£ β unitIdeles K π£ β€ Nrm.range) β§ Module.finrank K M β£ (M4aHerbrand.principalIdeles (π K) K β Nrm.range).index end IdeleDataTop end LanglandsTunnell.P2.Artin
Statements phrased using this module (72)
- Idelic first-inequality data for cyclic extensions of degree dividing 24
HeckeCharacter.ideleFirstIneqDataAt_of_isCyclic64 below Β· depth 15 - Artin transfer data for cyclic cubic extensions
LanglandsTunnell.Artin.exists_transferData_of_finrank_eq_three109 below Β· depth 15 - Ramified primes divide a fixed nonzero ideal
LanglandsTunnell.P2.Artin.exists_ne_bot_forall_inertia_ne_bot_dvd0 below Β· depth 15 - Artin reciprocity for the cyclic octic layer L/K'
LanglandsTunnell.P2.raySymbol_artinValue_span_eq_one_of_artinPairCore1 below Β· depth 15 - Ray-class character trivial on norms factors through the Artin symbol
NumberField.PrimeNormIndex.normClassChar_eq_char_comp_artinSymbol0 below · depth 15 - Characters annihilating r on congruent unit idèles
ArtinL.Abelian.apply_idelicArtinMap_eq_one_of_isAdjuster_of_forall_valued_eq_one2 below · depth 16 - Finite-order idèle characters kill totally positive infinite idèles
HeckeCharacter.apply_eq_one_of_isOfFinOrder_of_archSign0 below Β· depth 16 - Real component of a principal idΓ¨le equals Ο(Ξ±)
HeckeCharacter.archRealProjTau_unitsMap_algebraMap0 below · depth 16 - Content of a principal idèle is the principal fractional ideal
HeckeCharacter.coe_fadContentHom_projFin_unitsMap_algebraMap2 below Β· depth 16 - Integers β‘ 1 mod f with prescribed real signs
HeckeCharacter.exists_ne_zero_sub_one_mem_forall_pos_iff0 below Β· depth 16 - Content of an idelic norm is the relative norm of the content
HeckeCharacter.fadContentHom_projFin_idelicNorm_eq_fracRelNormUnit3 below Β· depth 16 - Adjusters descend along the idelic norm
HeckeCharacter.isAdjuster_idelicNorm_of_isAdjuster3 below Β· depth 16 - Ideal membership as a local condition at the primes dividing f
HeckeCharacter.mem_iff_forall_valued_algebraMap_finiteAdeleRing_le0 below · depth 16 - Ray symbol of the content of a finite idèle
HeckeCharacter.raySymbolUnitsHom_fadContentHom2 below Β· depth 16 - Trivial symbol forces the norm into the norm-ray subgroup
LanglandsTunnell.Artin.Ni_mem_normRaySubgroup_of_symbol_eq_one0 below Β· depth 16 - Crossing two auxiliary data at a prescribed automorphism
LanglandsTunnell.Artin.exists_Ni_eq_Ni_and_symbol_eq_of_artinPairCore0 below Β· depth 16 - Uniform existence of Artin field cores and pair cores
LanglandsTunnell.Artin.exists_artinFieldCore_nonempty_artinPairCore1 below Β· depth 16 - Artin transfer data for a quadratic extension at an admissible modulus
LanglandsTunnell.Artin.exists_transferData_of_finrank_eq_two68 below Β· depth 16 - Admissible multiple of a modulus containing the ramification
LanglandsTunnell.P2.Artin.exists_dvd_and_isAdmissibleModulusOfDegree_of_ramified_dvd0 below Β· depth 16 - Ramified primes divide a common nonzero ideal
LanglandsTunnell.P2.Artin.exists_ne_bot_forall_inertia_primeAbove_ne_bot_dvd0 below Β· depth 16 - Narrow ray class character of a prime-degree cyclic extension
LanglandsTunnell.P2.Artin.exists_rayClassChar_orderOf_eq_inertiaDeg_of_finrank_eq_prime117 below Β· depth 16 - Ideal-theoretic and idelic norm indices agree
LanglandsTunnell.P2.Artin.normRaySubgroup_index_eq_of_anchors0 below Β· depth 16 - Reciprocity for the cyclic octic subextension of a GLβ(π½β)-extension
LanglandsTunnell.P2.raySymbol_artinValue_span_eq_one_of_artinFieldCore0 below Β· depth 16 - Upper ramification groups lie in the local image of the idelic Artin map
M4aHerbrand.exists_isAdjuster_pow_idelicArtinMap_eq_of_mem_upperRamificationGroup302 below Β· depth 16 - Product formula for the idelic Artin map, totally positive case
M4aHerbrand.finprod_idelicArtinMap_idelesTrivialOn_eq_one_of_totallyPositive2 below Β· depth 16 - Idelic Artin map at one place: Frobenius modulo inertia
M4aHerbrand.idelicArtinMap_single_mul_zpow_inv_mem_inertia_of_isArithFrobAt137 below Β· depth 16 - Ramification theorem: inertia lies in the image of local units
M4aHerbrand.inertia_le_map_unitIdelesTrivialOn_compl_singleton_of_idelicArtinMap252 below Β· depth 16 - Second inequality for Galois cubic extensions
NumberField.PrimeNormIndex.secondInequalityCTM_of_finrank_eq_three101 below Β· depth 16 - Quadratic norm-class characters: triviality or residue-degree dichotomy
NumberField.QuadraticNormIndex.normClassChar_eq_one_or_inertiaDeg_iff0 below Β· depth 16 - Idelic Artin map for an admissible modulus of the degree
NumberField.exists_idelicArtinMap_ker_eq_and_surjective_and_eq_finprod_artinFrob_of_isAdmissibleModulusOfDegree_finrank132 below · depth 16 - Sign at a real place of a principal translate of an idèle
HeckeCharacter.archSign_unitsMap_algebraMap_mul_iff1 below · depth 17 - Multiplicity at w of the content of a finite idèle
HeckeCharacter.count_coe_fadContentHom1 below · depth 17 - Content of a 1-adjusted idèle is coprime to f
HeckeCharacter.fadContentHom_projFin_mem_coprimeToModulus_of_isAdjuster_one3 below · depth 17 - Artin symbol of an idèle's content as a Frobenius product
LanglandsTunnell.P2.Artin.artinSymbol_fadContentHom3 below Β· depth 17 - Existence of an admissible modulus supported at inertia-ramified places
LanglandsTunnell.P2.Artin.exists_admissibleModulus_supported0 below · depth 17 - Idèle classes modulo norms as ray classes modulo the norm-ray subgroup
LanglandsTunnell.P2.Artin.exists_mulEquiv_quotient_normRaySubgroup_apply_eq_contents_of_anchors14 below · depth 17 - Unit idèles at an admissible modulus are idelic norms
LanglandsTunnell.P2.Artin.unitIdeles_le_range_idelicNorm_of_isAdmissibleModulusOfDegree3 below Β· depth 17 - Artin image of level-n units lies in GβΏ(wβ£ v)
M4aHerbrand.idelicArtinMap_mem_upperRamificationGroup_of_isAdjuster_pow283 below Β· depth 17 - Kernel of the local component of the idelic Artin map
M4aHerbrand.idelicArtinMap_single_eq_one_iff_exists_finprod_smul_eq258 below Β· depth 17 - Local images under the idelic Artin map: decomposition and inertia
M4aHerbrand.map_idelesTrivialOn_eq_decomp_and_map_unitIdelesTrivialOn_eq_inertia_of_isCyclic250 below Β· depth 17 - Compatibility of idelic Artin maps with restriction to a subextension
M4aHerbrand.restrictNormalHom_idelicArtinMap_eq7 below Β· depth 17 - Idelic first-inequality data for a prime-degree Galois extension
NumberField.PrimeNormIndex.ideleFirstIneqDataAt_of_finrank_eq_prime64 below Β· depth 17 - Second inequality at prime degree, no roots of unity assumed
NumberField.PrimeNormIndex.secondInequalityCTM_of_finrank_eq_prime99 below Β· depth 17 - Second inequality for a prime Kummer layer
NumberField.PrimeNormIndex.secondInequalityCTM_of_primitiveRoots98 below Β· depth 17 - Exponent of w in a finitely supported product of prime fractional ideals
Deep.NTSupply.count_coe_finprod_primeUnit_zpow0 below · depth 18 - Existence of adjusters for idèles at level f
HeckeCharacter.exists_isAdjuster5 below · depth 18 - Fractional ideals coprime to f as contents of 1-adjusted idèles
HeckeCharacter.exists_isAdjuster_one_and_fadContentHom_projFin_eq2 below · depth 18 - Content of a finite idèle is coprime to f iff locally unit
HeckeCharacter.fadContentHom_mem_coprimeToModulus_iff2 below · depth 18 - Relative norm of the content of a principal idèle
HeckeCharacter.fracRelNormUnit_fadContentHom_projFin_unitsMap_algebraMap3 below · depth 18 - Everywhere-unit 1-adjusted idèles lie in U_f
LanglandsTunnell.P2.Artin.mem_unitIdeles_of_placeOrd_eq_zero_of_isAdjuster_one0 below · depth 18 - Single-place idèle generating a decomposition group at a cyclic layer
M4aHerbrand.exists_forall_mem_zpowers_idelicArtinMap_single_of_isCyclic249 below Β· depth 18 - Idelic Artin map sends local norms at v into H'
M4aHerbrand.idelicArtinMap_single_mem_map_subtype_of_finprod_smul_eq139 below Β· depth 18 - Local components of the idelic Artin map are reciprocity maps
M4aHerbrand.isLocalReciprocityMap_of_idelicArtinMap_single260 below Β· depth 18 - Image of Eα΅₯^Γ: decomposition group, of πͺα΅₯^Γ: inertia group
M4aHerbrand.map_idelesTrivialOn_eq_decomp_and_map_unitIdelesTrivialOn_eq_inertia253 below Β· depth 18 - Local norm index bound for abelian decomposition group
NumberField.PlaceDecomp.exists_fin_forall_exists_finprod_smul_eq_mul_of_isMulCommutative_decomp107 below Β· depth 18 - Idelic reciprocity map for abelian extensions of exponent dividing 24
NumberField.exists_idelicArtinMap_ker_eq_and_surjective_and_eq_finprod_artinFrob_of_dvd_twentyFour130 below · depth 18 - Finite weak approximation at a modulus for idèles
HeckeCharacter.exists_forall_dvd_valued_mul_inv_eq_one_and_le0 below Β· depth 19 - Artin reciprocity at an admissible modulus, exponent dividing 24
LanglandsTunnell.Artin.artinSymbol_surjective_and_ker_eq_normRaySubgroup_of_dvd_twentyFour111 below · depth 19 - Unit idèles of an admissible modulus are idelic norms
LanglandsTunnell.P2.Artin.unitIdeles_le_range_idelicNorm_of_dvd_twentyFour3 below Β· depth 19 - Localβglobal compatibility of the idelic Artin map at w
M4aHerbrand.exists_localCoordinate_carry_eq_zsmul_and_div_natCard_decomp_eq_of_idelicArtinMap241 below Β· depth 19 - Local Artin map computes carry classes on an enlarged layer
M4aHerbrand.exists_mk_localArtin_eq_pow_and_infNatTrans_carryFun_eq_smul_of_enlargedLayer220 below · depth 20 - Triviality of the Artin map product on single-place idèles
M4aHerbrand.prod_idelicArtinMap_single_eq_one3 below · depth 23 - Base-changed idèles become norms after raising to n'/[F:E]
NumberField.pow_map_genuineBaseChange_mem_principalIdeles_sup_range_idelicNorm144 below · depth 23 - Base change preserves 1-adjusted idèles at the extended modulus
HeckeCharacter.isAdjuster_unitsMap_genuineBaseChange_one_of_isAdjuster_one0 below · depth 24 - A modulus whose unit idèles are idelic norms
LanglandsTunnell.P2.Artin.exists_ne_bot_and_unitIdeles_le_range_idelicNorm4 below · depth 24 - Restriction of the Frobenius idèle symbol under base change
LanglandsTunnell.P2.Artin.resHom_finprod_artinFrob_pow_placeOrd_map_eq_finprod_pow_finrank2 below · depth 24 - Monotonicity of unit idèle congruence subgroups in the level
LanglandsTunnell.P2.Artin.unitIdeles_le_unitIdeles_of_dvd0 below · depth 24 - Idelic Artin map for a modulus whose unit idèles are norms
NumberField.exists_idelicArtinMap_ker_eq_and_surjective_and_eq_finprod_artinFrob_of_unitIdeles_le135 below Β· depth 24 - Hecke character of a prime-degree abelian extension, via the Artin map
LanglandsTunnell.CubicLambda.exists_isFiniteOrderHeckeChar_eulerCoeff_and_eq_comp_idelicArtinMap_of_isGalois_of_prime_finrank256 below Β· depth 25 - Triviality of Οβ r on higher units at q
LanglandsTunnell.CubicLambda.localChar_comp_idelicArtinMap_eq_one_of_mem_higherUnitsAt_of_factorization_discr_le_of_prime_finrank292 below Β· depth 25 - Descent of the Frobenius product formula to level f
LanglandsTunnell.P2.Artin.eq_finprod_artinFrob_pow_placeOrd_of_isAdjuster_one_of_dvd14 below Β· depth 25 - Functoriality of Artin Frobenius elements in a tower
LanglandsTunnell.P2.Artin.resHom_artinFrob_eq_artinFrob_pow_inertiaDeg0 below Β· depth 25