Definitions/Def_M4aHerbrand_SIdeleClassGroup.lean
-idèle class groups: unit idèles trivial on
Throughout, R is a Dedekind domain with fraction field F, the idèle group is (\mathbb{A}_{R,F})^\times for Mathlib's adèle ring (infinite adèles times finite adèles), and T is an arbitrary set of height-one primes of R. Two coordinate homomorphisms are introduced: infPart, the map on units induced by the first projection to the infinite adèles, and finPart w, the map on units induced by evaluation at w of the finite-adèle component, landing in (F_w)^\times for the w-adic completion. The subgroup idelesTrivialOn R F T consists of those units x with \mathrm{infPart}(x)=1 and \mathrm{finPart}_w(x)=1 for all w\in T; intersecting it with the project's NumberField.AdeleRing.unitIdelesOutside R F T (the units whose finite components at every w\notin T, and those of the inverse, lie in the valuation ring \mathcal{O}_w) gives unitIdelesTrivialOn R F T. It is antitone in T and is trivial for T the set of all primes. The T-class kernel sClassKernel R F T is the join of principalIdeles R F (the image of F^\times) with unitIdelesTrivialOn R F T, and SIdeleClassGroup R F T is the quotient of the idèle group by it, a commutative group, equal to the idèle class group when T is everything. The surjection toSIdeleClass from the idèle class group has kernel sUnitClasses R F T, the image of unitIdelesTrivialOn R F T; for T\subseteq T' there are compatible surjections ofLE from the T'- to the T-version, functorial in inclusions. On the descent side, for a Galois descent datum D on the adèles the predicate StabilizesUnitIdeles D T says that each g\in\mathrm{Gal}(F/E) maps unitIdelesTrivialOn R F T into itself; under it the descended action passes to SIdeleClassGroup R F T as a MulDistribMulAction, compatibly with toSIdeleClass. Finally repHomOfMulEquivariant turns an equivariant group homomorphism into a morphism of the associated \mathbb{Z}-linear representations, specialised to toSIdeleClass and ofLE, and placesOver, placesOverPrimes describe the primes of \mathcal{O}_F lying over a given set of primes of \mathcal{O}_E, respectively over a set of rational primes.
Relation to Mathlib
Mathlib supplies the adèle and finite adèle rings, adic completions and their valuation rings, and Rep.ofMulDistribMulAction; the idèle class group, the S-unit idèle subgroups and the T-idèle class group here are the project's own notions, built on the project's principalIdeles, unitIdelesOutside and adelic Galois descent data.
Where it is used
These quotients provide the Galois modules C_{F,T} used in the cohomological input to class field theory: the projection from the full idèle class group and the change-of-T maps let Tate cohomology computations for C_F be transferred to the T-truncated modules, and placesOver/placesOverPrimes are how the set T is instantiated from a set of places of a subfield or of rational primes.
References
- J. T. Tate, Global class field theory, in: J. W. S. Cassels and A. Fröhlich (eds.), Algebraic Number Theory, Academic Press, 1967, 162–203
- J. Neukirch, A. Schmidt and K. Wingberg, Cohomology of Number Fields, Grundlehren der mathematischen Wissenschaften 323, Springer, 2000
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 325 lines
- 61 declarations
- used in the statements of 456 theorems and imported by 476 proofs
- imports 2 definition modules
Source file: Definitions/Def_M4aHerbrand_SIdeleClassGroup.lean
Declarations
- instance
M4aHerbrand.isMulCommutative_ideleClassGroup - def
M4aHerbrand.infPart - def
M4aHerbrand.finPart - lemma
M4aHerbrand.coe_infPart_apply - lemma
M4aHerbrand.coe_finPart_apply - def
M4aHerbrand.idelesTrivialOn - lemma
M4aHerbrand.mem_idelesTrivialOn_iff - lemma
M4aHerbrand.idelesTrivialOn_antitone - def
M4aHerbrand.unitIdelesTrivialOn - lemma
M4aHerbrand.unitIdelesTrivialOn_le_unitIdelesOutside - lemma
M4aHerbrand.unitIdelesTrivialOn_le_idelesTrivialOn - lemma
M4aHerbrand.mem_unitIdelesTrivialOn_iff - lemma
M4aHerbrand.unitIdelesTrivialOn_antitone - lemma
M4aHerbrand.unitIdelesTrivialOn_univ - def
M4aHerbrand.sClassKernel - def
M4aHerbrand.sUnitClasses - abbrev
M4aHerbrand.SIdeleClassGroup - instance
M4aHerbrand.isMulCommutative_sIdeleClassGroup - lemma
M4aHerbrand.principalIdeles_le_sClassKernel - lemma
M4aHerbrand.unitIdelesTrivialOn_le_sClassKernel - lemma
M4aHerbrand.sClassKernel_antitone - lemma
M4aHerbrand.sClassKernel_univ - def
M4aHerbrand.toSIdeleClass - lemma
M4aHerbrand.toSIdeleClass_mk - lemma
M4aHerbrand.toSIdeleClass_surjective - lemma
M4aHerbrand.toSIdeleClass_mk_eq_one_iff - lemma
M4aHerbrand.ker_toSIdeleClass - lemma
M4aHerbrand.sUnitClasses_antitone - lemma
M4aHerbrand.sUnitClasses_univ - def
M4aHerbrand.SIdeleClassGroup.ofLE - lemma
M4aHerbrand.SIdeleClassGroup.ofLE_mk - lemma
M4aHerbrand.SIdeleClassGroup.ofLE_toSIdeleClass - lemma
M4aHerbrand.SIdeleClassGroup.ofLE_surjective - lemma
M4aHerbrand.SIdeleClassGroup.ofLE_refl - lemma
M4aHerbrand.SIdeleClassGroup.ofLE_comp_ofLE - lemma
M4aHerbrand.IdeleGaloisDescent.classAct_mk - lemma
M4aHerbrand.IdeleGaloisDescent.classAct_one - lemma
M4aHerbrand.IdeleGaloisDescent.classAct_mul - def
M4aHerbrand.IdeleGaloisDescent.classMulDistribMulAction - lemma
M4aHerbrand.IdeleGaloisDescent.classMulDistribMulAction_smul - def
M4aHerbrand.IdeleGaloisDescent.StabilizesUnitIdeles - lemma
M4aHerbrand.IdeleGaloisDescent.sClassKernel_le_comap_unitsAct - def
M4aHerbrand.IdeleGaloisDescent.sClassAct - lemma
M4aHerbrand.IdeleGaloisDescent.sClassAct_mk - lemma
M4aHerbrand.IdeleGaloisDescent.sClassAct_toSIdeleClass - lemma
M4aHerbrand.IdeleGaloisDescent.sClassAct_one - lemma
M4aHerbrand.IdeleGaloisDescent.sClassAct_mul - def
M4aHerbrand.IdeleGaloisDescent.sClassMulDistribMulAction - lemma
M4aHerbrand.IdeleGaloisDescent.sClassMulDistribMulAction_smul_toSIdeleClass - def
M4aHerbrand.repHomOfMulEquivariant - lemma
M4aHerbrand.repHomOfMulEquivariant_hom_apply - def
M4aHerbrand.toSIdeleClassRepHom - def
M4aHerbrand.SIdeleClassGroup.ofLERepHom - lemma
M4aHerbrand.toSIdeleClass_smul_of_descent - lemma
M4aHerbrand.SIdeleClassGroup.ofLE_smul_of_descent - def
NumberField.placesOver - lemma
NumberField.placesOver_mono - lemma
NumberField.mem_placesOver_iff - def
NumberField.placesOverPrimes - lemma
NumberField.placesOverPrimes_mono - lemma
NumberField.mem_placesOverPrimes_iff
Source
import Mathlib import Definitions.Def_M4aHerbrand_IdeleClassVocab import Definitions.Def_IsDedekindDomain_FiniteUnitIdelesOutside set_option autoImplicit false open NumberField IsDedekindDomain CategoryTheory noncomputable section namespace M4aHerbrand section comm variable (R F : Type*) [CommRing R] [IsDedekindDomain R] [Field F] [Algebra R F] [IsFractionRing R F] instance isMulCommutative_ideleClassGroup : IsMulCommutative (IdeleClassGroup R F) := ⟨⟨fun a b => mul_comm a b⟩⟩ end comm section Carrier variable {R F : Type*} [CommRing R] [IsDedekindDomain R] [Field F] [Algebra R F] [IsFractionRing R F] def infPart : (AdeleRing R F)ˣ →* (InfiniteAdeleRing F)ˣ := Units.map (RingHom.fst (InfiniteAdeleRing F) (FiniteAdeleRing R F)).toMonoidHom def finPart (w : HeightOneSpectrum R) : (AdeleRing R F)ˣ →* (w.adicCompletion F)ˣ := Units.map ((RestrictedProduct.evalMonoidHom (fun v : HeightOneSpectrum R => v.adicCompletion F) w).comp (RingHom.snd (InfiniteAdeleRing F) (FiniteAdeleRing R F)).toMonoidHom) @[simp] lemma coe_infPart_apply (x : (AdeleRing R F)ˣ) : (infPart x : InfiniteAdeleRing F) = (x : AdeleRing R F).1 := rfl @[simp] lemma coe_finPart_apply (w : HeightOneSpectrum R) (x : (AdeleRing R F)ˣ) : (finPart w x : w.adicCompletion F) = (x : AdeleRing R F).2 w := rfl variable (R F) def idelesTrivialOn (T : Set (HeightOneSpectrum R)) : Subgroup (AdeleRing R F)ˣ where carrier := {x | infPart x = 1 ∧ ∀ w ∈ T, finPart w x = 1} one_mem' := ⟨map_one _, fun w _ => map_one _⟩ mul_mem' {x y} hx hy := ⟨by rw [map_mul, hx.1, hy.1, one_mul], fun w hw => by rw [map_mul, hx.2 w hw, hy.2 w hw, one_mul]⟩ inv_mem' {x} hx := ⟨by rw [map_inv, hx.1, inv_one], fun w hw => by rw [map_inv, hx.2 w hw, inv_one]⟩ variable {R F} in lemma mem_idelesTrivialOn_iff (T : Set (HeightOneSpectrum R)) (x : (AdeleRing R F)ˣ) : x ∈ idelesTrivialOn R F T ↔ infPart x = 1 ∧ ∀ w ∈ T, finPart w x = 1 := Iff.rfl lemma idelesTrivialOn_antitone : Antitone (idelesTrivialOn R F) := fun _ _ h _ hx => ⟨hx.1, fun w hw => hx.2 w (h hw)⟩ def unitIdelesTrivialOn (T : Set (HeightOneSpectrum R)) : Subgroup (AdeleRing R F)ˣ := NumberField.AdeleRing.unitIdelesOutside R F T ⊓ idelesTrivialOn R F T lemma unitIdelesTrivialOn_le_unitIdelesOutside (T : Set (HeightOneSpectrum R)) : unitIdelesTrivialOn R F T ≤ NumberField.AdeleRing.unitIdelesOutside R F T := inf_le_left lemma unitIdelesTrivialOn_le_idelesTrivialOn (T : Set (HeightOneSpectrum R)) : unitIdelesTrivialOn R F T ≤ idelesTrivialOn R F T := inf_le_right variable {R F} lemma mem_unitIdelesTrivialOn_iff (T : Set (HeightOneSpectrum R)) (x : (AdeleRing R F)ˣ) : x ∈ unitIdelesTrivialOn R F T ↔ (∀ w : HeightOneSpectrum R, w ∉ T → (x : AdeleRing R F).2 w ∈ w.adicCompletionIntegers F ∧ ((x⁻¹ : (AdeleRing R F)ˣ) : AdeleRing R F).2 w ∈ w.adicCompletionIntegers F) ∧ infPart x = 1 ∧ ∀ w ∈ T, finPart w x = 1 := Iff.rfl lemma unitIdelesTrivialOn_antitone : Antitone (unitIdelesTrivialOn R F) := by intro T T' hTT' x hx refine ⟨fun w hw => ?_, idelesTrivialOn_antitone R F hTT' hx.2⟩ by_cases hw' : w ∈ T' · have h1 : (x : AdeleRing R F).2 w = 1 := congrArg Units.val (hx.2.2 w hw') have h2 : ((x⁻¹ : (AdeleRing R F)ˣ) : AdeleRing R F).2 w = 1 := congrArg Units.val (show finPart w x⁻¹ = 1 by rw [map_inv, hx.2.2 w hw', inv_one]) exact ⟨h1 ▸ one_mem _, h2 ▸ one_mem _⟩ · exact hx.1 w hw' lemma unitIdelesTrivialOn_univ : unitIdelesTrivialOn R F Set.univ = ⊥ := by refine (Subgroup.eq_bot_iff_forall _).2 fun x hx => ?_ have h1 : (x : AdeleRing R F).1 = 1 := congrArg Units.val hx.2.1 have h2 : ∀ w, (x : AdeleRing R F).2 w = 1 := fun w => congrArg Units.val (hx.2.2 w (Set.mem_univ w)) exact Units.ext (Prod.ext h1 (DFunLike.ext _ _ h2)) end Carrier section SClass variable (R F : Type*) [CommRing R] [IsDedekindDomain R] [Field F] [Algebra R F] [IsFractionRing R F] def sClassKernel (T : Set (HeightOneSpectrum R)) : Subgroup (AdeleRing R F)ˣ := principalIdeles R F ⊔ unitIdelesTrivialOn R F T def sUnitClasses (T : Set (HeightOneSpectrum R)) : Subgroup (IdeleClassGroup R F) := (unitIdelesTrivialOn R F T).map (QuotientGroup.mk' (principalIdeles R F)) abbrev SIdeleClassGroup (T : Set (HeightOneSpectrum R)) : Type _ := (AdeleRing R F)ˣ ⧸ sClassKernel R F T instance isMulCommutative_sIdeleClassGroup (T : Set (HeightOneSpectrum R)) : IsMulCommutative (SIdeleClassGroup R F T) := ⟨⟨fun a b => mul_comm a b⟩⟩ lemma principalIdeles_le_sClassKernel (T : Set (HeightOneSpectrum R)) : principalIdeles R F ≤ sClassKernel R F T := le_sup_left lemma unitIdelesTrivialOn_le_sClassKernel (T : Set (HeightOneSpectrum R)) : unitIdelesTrivialOn R F T ≤ sClassKernel R F T := le_sup_right lemma sClassKernel_antitone : Antitone (sClassKernel R F) := fun _ _ h => sup_le_sup_left (unitIdelesTrivialOn_antitone h) _ lemma sClassKernel_univ : sClassKernel R F Set.univ = principalIdeles R F := by rw [sClassKernel, unitIdelesTrivialOn_univ, sup_bot_eq] def toSIdeleClass (T : Set (HeightOneSpectrum R)) : IdeleClassGroup R F →* SIdeleClassGroup R F T := QuotientGroup.map _ _ (MonoidHom.id _) (principalIdeles_le_sClassKernel R F T) @[simp] lemma toSIdeleClass_mk (T : Set (HeightOneSpectrum R)) (x : (AdeleRing R F)ˣ) : toSIdeleClass R F T (QuotientGroup.mk x) = QuotientGroup.mk x := rfl lemma toSIdeleClass_surjective (T : Set (HeightOneSpectrum R)) : Function.Surjective (toSIdeleClass R F T) := fun c => by obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective c; exact ⟨QuotientGroup.mk x, toSIdeleClass_mk R F T x⟩ lemma toSIdeleClass_mk_eq_one_iff (T : Set (HeightOneSpectrum R)) (x : (AdeleRing R F)ˣ) : toSIdeleClass R F T (QuotientGroup.mk x) = 1 ↔ x ∈ sClassKernel R F T := QuotientGroup.eq_one_iff x lemma ker_toSIdeleClass (T : Set (HeightOneSpectrum R)) : (toSIdeleClass R F T).ker = sUnitClasses R F T := by rw [toSIdeleClass, QuotientGroup.ker_map, Subgroup.comap_id, sClassKernel, Subgroup.map_sup, QuotientGroup.map_mk'_self, bot_sup_eq, sUnitClasses] lemma sUnitClasses_antitone : Antitone (sUnitClasses R F) := fun _ _ h => Subgroup.map_mono (unitIdelesTrivialOn_antitone h) lemma sUnitClasses_univ : sUnitClasses R F Set.univ = ⊥ := by rw [sUnitClasses, unitIdelesTrivialOn_univ, Subgroup.map_bot] namespace SIdeleClassGroup variable {R F} def ofLE {T T' : Set (HeightOneSpectrum R)} (h : T ⊆ T') : SIdeleClassGroup R F T' →* SIdeleClassGroup R F T := QuotientGroup.map _ _ (MonoidHom.id _) (by simpa using sClassKernel_antitone R F h) @[simp] lemma ofLE_mk {T T' : Set (HeightOneSpectrum R)} (h : T ⊆ T') (x : (AdeleRing R F)ˣ) : ofLE h (QuotientGroup.mk x : SIdeleClassGroup R F T') = QuotientGroup.mk x := rfl @[simp] lemma ofLE_toSIdeleClass {T T' : Set (HeightOneSpectrum R)} (h : T ⊆ T') (c : IdeleClassGroup R F) : ofLE h (toSIdeleClass R F T' c) = toSIdeleClass R F T c := by obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective c; rfl lemma ofLE_surjective {T T' : Set (HeightOneSpectrum R)} (h : T ⊆ T') : Function.Surjective (ofLE (R := R) (F := F) h) := fun c => by obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective c; exact ⟨QuotientGroup.mk x, ofLE_mk h x⟩ lemma ofLE_refl (T : Set (HeightOneSpectrum R)) : ofLE (subset_refl T) = MonoidHom.id (SIdeleClassGroup R F T) := QuotientGroup.map_id _ lemma ofLE_comp_ofLE {T T' T'' : Set (HeightOneSpectrum R)} (h : T ⊆ T') (h' : T' ⊆ T'') : (ofLE h).comp (ofLE (R := R) (F := F) h') = ofLE (h.trans h') := MonoidHom.ext fun c => by obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective c simp only [MonoidHom.comp_apply, ofLE_mk] end SIdeleClassGroup end SClass section Descent variable {R E F : Type*} [CommRing R] [IsDedekindDomain R] [Field E] [Field F] [Algebra R F] [IsFractionRing R F] [Algebra E F] namespace IdeleGaloisDescent @[simp] lemma classAct_mk (D : IdeleGaloisDescent R E F) (g : F ≃ₐ[E] F) (x : (AdeleRing R F)ˣ) : D.classAct g (QuotientGroup.mk x) = QuotientGroup.mk (D.unitsAct g x) := rfl lemma classAct_one (D : IdeleGaloisDescent R E F) (c : IdeleClassGroup R F) : D.classAct 1 c = c := by obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective c rw [classAct_mk, map_one]; rfl lemma classAct_mul (D : IdeleGaloisDescent R E F) (g h : F ≃ₐ[E] F) (c : IdeleClassGroup R F) : D.classAct (g * h) c = D.classAct g (D.classAct h c) := by obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective c rw [classAct_mk, classAct_mk, classAct_mk, map_mul]; rfl @[reducible] def classMulDistribMulAction (D : IdeleGaloisDescent R E F) : MulDistribMulAction (F ≃ₐ[E] F) (IdeleClassGroup R F) where smul g c := D.classAct g c one_smul c := D.classAct_one c mul_smul g h c := D.classAct_mul g h c smul_one g := map_one (D.classAct g) smul_mul g x y := map_mul (D.classAct g) x y lemma classMulDistribMulAction_smul (D : IdeleGaloisDescent R E F) (g : F ≃ₐ[E] F) (c : IdeleClassGroup R F) : (letI := D.classMulDistribMulAction; g • c) = D.classAct g c := rfl def StabilizesUnitIdeles (D : IdeleGaloisDescent R E F) (T : Set (HeightOneSpectrum R)) : Prop := ∀ (g : F ≃ₐ[E] F) (x : (AdeleRing R F)ˣ), x ∈ unitIdelesTrivialOn R F T → D.unitsAct g x ∈ unitIdelesTrivialOn R F T variable {T : Set (HeightOneSpectrum R)} lemma sClassKernel_le_comap_unitsAct (D : IdeleGaloisDescent R E F) (hD : D.StabilizesUnitIdeles T) (g : F ≃ₐ[E] F) : sClassKernel R F T ≤ (sClassKernel R F T).comap (D.unitsAct g).toMonoidHom := by refine sup_le ?_ fun x hx => unitIdelesTrivialOn_le_sClassKernel R F T (hD g x hx) rw [← Subgroup.map_le_iff_le_comap, D.map_principalIdeles g] exact principalIdeles_le_sClassKernel R F T def sClassAct (D : IdeleGaloisDescent R E F) (hD : D.StabilizesUnitIdeles T) (g : F ≃ₐ[E] F) : SIdeleClassGroup R F T →* SIdeleClassGroup R F T := QuotientGroup.map _ _ (D.unitsAct g).toMonoidHom (D.sClassKernel_le_comap_unitsAct hD g) @[simp] lemma sClassAct_mk (D : IdeleGaloisDescent R E F) (hD : D.StabilizesUnitIdeles T) (g : F ≃ₐ[E] F) (x : (AdeleRing R F)ˣ) : D.sClassAct hD g (QuotientGroup.mk x) = QuotientGroup.mk (D.unitsAct g x) := rfl @[simp] lemma sClassAct_toSIdeleClass (D : IdeleGaloisDescent R E F) (hD : D.StabilizesUnitIdeles T) (g : F ≃ₐ[E] F) (c : IdeleClassGroup R F) : D.sClassAct hD g (toSIdeleClass R F T c) = toSIdeleClass R F T (D.classAct g c) := by obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective c; rfl lemma sClassAct_one (D : IdeleGaloisDescent R E F) (hD : D.StabilizesUnitIdeles T) (c : SIdeleClassGroup R F T) : D.sClassAct hD 1 c = c := by obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective c rw [sClassAct_mk, map_one]; rfl lemma sClassAct_mul (D : IdeleGaloisDescent R E F) (hD : D.StabilizesUnitIdeles T) (g h : F ≃ₐ[E] F) (c : SIdeleClassGroup R F T) : D.sClassAct hD (g * h) c = D.sClassAct hD g (D.sClassAct hD h c) := by obtain ⟨x, rfl⟩ := QuotientGroup.mk_surjective c rw [sClassAct_mk, sClassAct_mk, sClassAct_mk, map_mul]; rfl @[reducible] def sClassMulDistribMulAction (D : IdeleGaloisDescent R E F) (hD : D.StabilizesUnitIdeles T) : MulDistribMulAction (F ≃ₐ[E] F) (SIdeleClassGroup R F T) where smul g c := D.sClassAct hD g c one_smul c := D.sClassAct_one hD c mul_smul g h c := D.sClassAct_mul hD g h c smul_one g := map_one (D.sClassAct hD g) smul_mul g x y := map_mul (D.sClassAct hD g) x y lemma sClassMulDistribMulAction_smul_toSIdeleClass (D : IdeleGaloisDescent R E F) (hD : D.StabilizesUnitIdeles T) (g : F ≃ₐ[E] F) (c : IdeleClassGroup R F) : (letI := D.sClassMulDistribMulAction hD; g • toSIdeleClass R F T c) = toSIdeleClass R F T (D.classAct g c) := D.sClassAct_toSIdeleClass hD g c end IdeleGaloisDescent end Descent section RepHoms universe u variable {G : Type u} [Group G] {M N : Type u} [CommGroup M] [CommGroup N] [MulDistribMulAction G M] [MulDistribMulAction G N] def repHomOfMulEquivariant (f : M →* N) (hf : ∀ (g : G) (m : M), f (g • m) = g • f m) : Rep.ofMulDistribMulAction G M ⟶ Rep.ofMulDistribMulAction G N := Rep.ofHom ⟨(MonoidHom.toAdditive f).toIntLinearMap, fun g => LinearMap.ext fun x => by change Additive.ofMul (f (g • Additive.toMul x)) = Additive.ofMul (g • f (Additive.toMul x)) rw [hf]⟩ @[simp] lemma repHomOfMulEquivariant_hom_apply (f : M →* N) (hf : ∀ (g : G) (m : M), f (g • m) = g • f m) (x : Additive M) : (repHomOfMulEquivariant f hf).hom x = Additive.ofMul (f (Additive.toMul x)) := rfl variable {R F : Type} [CommRing R] [IsDedekindDomain R] [Field F] [Algebra R F] [IsFractionRing R F] variable {Γ : Type} [Group Γ] def toSIdeleClassRepHom (T : Set (HeightOneSpectrum R)) [MulDistribMulAction Γ (IdeleClassGroup R F)] [MulDistribMulAction Γ (SIdeleClassGroup R F T)] (h : ∀ (g : Γ) (c : IdeleClassGroup R F), toSIdeleClass R F T (g • c) = g • toSIdeleClass R F T c) : Rep.ofMulDistribMulAction Γ (IdeleClassGroup R F) ⟶ Rep.ofMulDistribMulAction Γ (SIdeleClassGroup R F T) := repHomOfMulEquivariant (toSIdeleClass R F T) h def SIdeleClassGroup.ofLERepHom {T T' : Set (HeightOneSpectrum R)} (hTT' : T ⊆ T') [MulDistribMulAction Γ (SIdeleClassGroup R F T')] [MulDistribMulAction Γ (SIdeleClassGroup R F T)] (h : ∀ (g : Γ) (c : SIdeleClassGroup R F T'), SIdeleClassGroup.ofLE hTT' (g • c) = g • SIdeleClassGroup.ofLE hTT' c) : Rep.ofMulDistribMulAction Γ (SIdeleClassGroup R F T') ⟶ Rep.ofMulDistribMulAction Γ (SIdeleClassGroup R F T) := repHomOfMulEquivariant (SIdeleClassGroup.ofLE hTT') h lemma toSIdeleClass_smul_of_descent {E : Type} [Field E] [Algebra E F] (D : IdeleGaloisDescent R E F) (T : Set (HeightOneSpectrum R)) [MulDistribMulAction (F ≃ₐ[E] F) (IdeleClassGroup R F)] [MulDistribMulAction (F ≃ₐ[E] F) (SIdeleClassGroup R F T)] (hact : ∀ (g : F ≃ₐ[E] F) (c : IdeleClassGroup R F), g • c = D.classAct g c) (hactS : ∀ (g : F ≃ₐ[E] F) (c : IdeleClassGroup R F), g • toSIdeleClass R F T c = toSIdeleClass R F T (D.classAct g c)) (g : F ≃ₐ[E] F) (c : IdeleClassGroup R F) : toSIdeleClass R F T (g • c) = g • toSIdeleClass R F T c := by rw [hact, hactS] lemma SIdeleClassGroup.ofLE_smul_of_descent {E : Type} [Field E] [Algebra E F] (D : IdeleGaloisDescent R E F) {T T' : Set (HeightOneSpectrum R)} (hTT' : T ⊆ T') [MulDistribMulAction (F ≃ₐ[E] F) (SIdeleClassGroup R F T')] [MulDistribMulAction (F ≃ₐ[E] F) (SIdeleClassGroup R F T)] (hactS' : ∀ (g : F ≃ₐ[E] F) (c : IdeleClassGroup R F), g • toSIdeleClass R F T' c = toSIdeleClass R F T' (D.classAct g c)) (hactS : ∀ (g : F ≃ₐ[E] F) (c : IdeleClassGroup R F), g • toSIdeleClass R F T c = toSIdeleClass R F T (D.classAct g c)) (g : F ≃ₐ[E] F) (c : SIdeleClassGroup R F T') : SIdeleClassGroup.ofLE hTT' (g • c) = g • SIdeleClassGroup.ofLE hTT' c := by obtain ⟨c, rfl⟩ := toSIdeleClass_surjective R F T' c rw [hactS', SIdeleClassGroup.ofLE_toSIdeleClass, SIdeleClassGroup.ofLE_toSIdeleClass, hactS] end RepHoms end M4aHerbrand namespace NumberField variable (E F : Type*) [Field E] [Field F] [Algebra E F] def placesOver (S : Set (HeightOneSpectrum (𝓞 E))) : Set (HeightOneSpectrum (𝓞 F)) := {w | ∃ v ∈ S, w.asIdeal.under (𝓞 E) = v.asIdeal} variable {E} in lemma placesOver_mono {S S' : Set (HeightOneSpectrum (𝓞 E))} (h : S ⊆ S') : placesOver E F S ⊆ placesOver E F S' := fun _ ⟨v, hv, hw⟩ => ⟨v, h hv, hw⟩ lemma mem_placesOver_iff (S : Set (HeightOneSpectrum (𝓞 E))) (w : HeightOneSpectrum (𝓞 F)) : w ∈ placesOver E F S ↔ ∃ v ∈ S, w.asIdeal.under (𝓞 E) = v.asIdeal := Iff.rfl def placesOverPrimes (S : Set Nat.Primes) : Set (HeightOneSpectrum (𝓞 F)) := {w | ∃ p ∈ S, ((p : ℕ) : 𝓞 F) ∈ w.asIdeal} lemma placesOverPrimes_mono {S S' : Set Nat.Primes} (h : S ⊆ S') : placesOverPrimes F S ⊆ placesOverPrimes F S' := fun _ ⟨p, hp, hw⟩ => ⟨p, h hp, hw⟩ lemma mem_placesOverPrimes_iff (S : Set Nat.Primes) (w : HeightOneSpectrum (𝓞 F)) : w ∈ placesOverPrimes F S ↔ ∃ p ∈ S, ((p : ℕ) : 𝓞 F) ∈ w.asIdeal := Iff.rfl end NumberField end
Statements phrased using this module (456)
- Characters annihilating r on congruent unit idèles
ArtinL.Abelian.apply_idelicArtinMap_eq_one_of_isAdjuster_of_forall_valued_eq_one2 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 - 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 - Local functional equation at one deeply twisted prime
LanglandsTunnell.CubicInduction.exists_forall_mem_gl3CyclicSubspace_localZeta31_fe_one_of_cubicInductionForm_twist_deepAt593 below · depth 18 - Local constants of twisted cubic induction on the cyclic span
LanglandsTunnell.CubicInduction.exists_forall_mem_gl3CyclicSubspace_localZetaDual31_eq_mul_of_cubicInductionForm_twisted_badPlaces_noFE32_adm598 below · depth 18 - Explicit K₁(p^{3B+Δ})-invariant bump vector for twisted cubic induction
LanglandsTunnell.CubicInduction.exists_mem_gl3CyclicSubspace_twist_whittakerLoc_congruenceK1_invariant_iotaGL_bump_of_conductor_le_ed3111 below · depth 18 - Finiteness of torus coefficients in the twisted local cyclic space
LanglandsTunnell.CubicInduction.forall_mem_gl3CyclicSubspace_torusFinite_of_cubicInductionForm_twisted_noFE32_level19 below · depth 18 - Cubic automorphic induction: existence of a cubic induction form
LanglandsTunnell.CubicInduction.hasCubicInductionForm_arch_torusValues_localPackage_bad1,687 below · depth 18 - Dual-side family identity in the GL₂timesGL₃ entire-pair assembly
LanglandsTunnell.RankinSelberg.EntirePairAssembly.dual_identity_family24 below · depth 18 - Archimedean holomorphy and non-vanishing from a torus Γ-factor identity
LanglandsTunnell.RankinSelberg.differentiableOn_and_rsArchIntegral_ne_zero_of_torusPair_eq_gammaFactor5 below · depth 18 - Local relations at p for the dual translate of W_f
LanglandsTunnell.RankinSelberg.dualTranslate_finWhittaker_local_relations3 below · depth 18 - Archimedean GL₂timesGL₃ torus-pair identity for the cubic induction
LanglandsTunnell.RankinSelberg.exists_archWhittaker_torusPair_eq_gammaFactor_of_archWhittakerDatum324 below · depth 18 - Half-plane integrability of archimedean GL₂timesGL₃ Rankin–Selberg integrands
LanglandsTunnell.RankinSelberg.exists_forall_integrable_archWhittaker_torusPair_rpow_det7 below · depth 18 - Finite GL₃-translate family: constant integral and dual root number
LanglandsTunnell.RankinSelberg.exists_gl3Translates_sum_rsFinIntegral_cells_eq_const_and_dual_eq_rootNumberMonomial_of_finWhittaker_one_ne_zero_of_localSpaceAt_of_member_of_fe32_normPin_twisted_offSQ_archPsi_bump_levelShift_global982 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 - Global invariant maps on H² of idèle classes, p odd
M4aHerbrand.exists_invariant_groupCohomology_ideleClassGroup_of_isPGroup_of_ne_two371 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 - Descent to a p-group layer and its local invariants, p odd
groupCohomology.exists_isPGroup_layer_inv_eq_localInv_locRes2S_div_and_sum_inv_eq_zero_of_ne_two458 below · depth 18 - Simultaneous splitting of the finite Whittaker factor over T
AutomorphicForm.exists_finWhittaker_eq_sum_prod_mul_of_isIsotypicCuspFormAt_placeEmbed_invariant_of_localSpaceAt14 below · depth 19 - Archimedean value of an idele character through a section of the infinite part
LanglandsTunnell.CubicInduction.apply_of_infPart_eq_of_isArchCompAt0 below · depth 19 - Archimedean root sizes of a GL₂ block image and its dual
LanglandsTunnell.CubicInduction.archRoot_iota_archRealGLAt_and_dual0 below · depth 19 - Local GL₃timesGL₁ constants of a cubic induction at one bad place
LanglandsTunnell.CubicInduction.exists_forall_mem_gl3CyclicSubspace_localZetaDual31_eq_mul_of_isCubicInductionDataOn_deepAt539 below · depth 19 - Span-wide local constants for deep cubic induction data
LanglandsTunnell.CubicInduction.exists_forall_mem_gl3CyclicSubspace_localZetaDual31_eq_mul_of_isCubicInductionDataOn_deep_badPlaces550 below · depth 19 - Existence of a cubic-induction datum: archimedean and bad-place package
LanglandsTunnell.CubicInduction.exists_isCubicInductionDataOn_arch_torusValues_localPackage_bad1,686 below · depth 19 - Archimedean zeta package for an explicit GL₃ Whittaker vector
LanglandsTunnell.CubicInduction.jacquetVector3_archZeta_package32 below · depth 19 - Half-plane integrability of pure-tensor Rankin–Selberg cell integrands
LanglandsTunnell.RankinSelberg.exists_forall_integrable_rsFinCellIntegrand_pureTensorTerm_dual_and_hybrid_of_depth_twisted_torusFinite_central_growth_of_principalLevel_of_gammaHyp136 below · depth 19 - Integrability of the twisted Rankin–Selberg finite-cell integrands
LanglandsTunnell.RankinSelberg.exists_forall_integrable_rsFinCellIntegrand_translate_and_dual_twisted116 below · depth 19 - Half-plane integrability of an archimedean torus profile
LanglandsTunnell.RankinSelberg.exists_forall_lintegral_norm_torusProfile_mul_rpow_lt_top0 below · depth 19 - Normalised K₁(p^ℓ)-invariant vector with mirabolic bump support
LanglandsTunnell.RankinSelberg.exists_mem_gl3CyclicSubspace_congruenceK1_invariant_iotaGL_eq_bump_of_localZeta31_fe_one107 below · depth 19 - Archimedean GL₂× GL₃ torus-pair Gamma identity, minimal type
LanglandsTunnell.RankinSelberg.exists_mem_polyGauss3_jacquetVector3_torusPair_eq_gammaFactor_of_archWhittakerDatum_of_isCasimirEigen_of_minimalType281 below · depth 19 - Rational local γ at a level prime, archimedean nonvanishing edition
LanglandsTunnell.RankinSelberg.exists_rational_gamma_rsLocalIntegral_member_twisted_of_finiteFamily_arch_deep_archPsi489 below · depth 19 - Torus finiteness for the cyclic space of a deep twist
LanglandsTunnell.RankinSelberg.forall_mem_gl3CyclicSubspace_twist_det_torusFinite_of_principalLevel_of_admissible_of_deepTwist12 below · depth 19 - Value form of the local GL₂timesGL₃ functional equation at p
LanglandsTunnell.RankinSelberg.forall_mem_span_rsLocalIntegral_dual_eq_stdRootNumber_mul_of_localZeta31_identified_of_torusFinite_of_centralChar_of_gauge_of_admissible_of_principalNormPin_adm_gamma_bump_levelShift_global514 below · depth 19 - Determinant twists cancel in the local GL₃× GL₂ Rankin–Selberg data
LanglandsTunnell.RankinSelberg.gl3CyclicSubspace_detTwist_and_rsIntegrand_detTwist_eq0 below · depth 19 - Modulus of a real Whittaker function on torus times O(2)
LanglandsTunnell.RankinSelberg.norm_archWhittaker_upperUnit_mul_rowIsometry0 below · depth 19 - Descent data stabilise the unit idèles outside primes above S
M4aHerbrand.IdeleGaloisDescent.stabilizesUnitIdeles_placesOverPrimes6 below · depth 19 - Positive-degree cohomology of idèle and S-idèle class groups agree
M4aHerbrand.bijective_groupCohomology_map_toSIdeleClass65 below · depth 19 - Descending the idèle class invariant system one Galois layer
M4aHerbrand.exists_adeleBaseChange_invariant_groupCohomology_ideleClassGroup_map_eq_of_invariant300 below · depth 19 - Class formation axioms for the T-idèle class group
M4aHerbrand.exists_fundamentalClass_sIdeleClassGroup248 below · depth 19 - Equivariance of the concentrated-idèle embedding at a finite place
M4aHerbrand.exists_hom_adicCompletion_res_decomp_ideles_apply6 below · depth 19 - Local w-component maps are D_w-equivariant on idèle units
M4aHerbrand.exists_hom_res_decomp_ideles_adicCompletion_apply4 below · depth 19 - Existence of an idèle-class frame for a Galois layer
M4aHerbrand.exists_ideleGaloisDescent_concentrated_lam_rho9 below · depth 19 - Invariant maps at a p-group layer with local value 1/|D_w|
M4aHerbrand.exists_invariant_forall_inv_map_localFundamentalClass_eq_one_div_natCard_decomp_of_isPGroup370 below · depth 19 - Invariant maps for the idèle class formation, p odd
M4aHerbrand.exists_invariant_groupCohomology_ideleClassGroup_forall_comp_eq_index_smul_of_ne_two384 below · depth 19 - Finite-level degree-one duality for the S-idèle class group
M4aHerbrand.exists_level_forall_relationHom_sIdeleClassGroup_extends_or_map_delta_ne_zero488 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 - Idèle-class invariant at w equals the local Tate pairing
NumberField.PlaceDecomp.exists_unit_inv_map_delta_res_eq_theta_localBridge163 below · depth 19 - Local invariant of the connecting map equals the Tate pairing
NumberField.PlaceDecomp.exists_unit_inv_map_delta_res_eq_theta_localBridge_primary163 below · depth 19 - Invariant at w of the descended class equals efm/p
NumberField.PlaceDecomp.inv_map_lam_map_rho_res_eq_of_map_rho_res_eq_zsmul_of_forall_inv_eq95 below · depth 19 - Vanishing of the sum of local invariants over S
NumberField.PlaceDecomp.sum_sum_inv_decomp_eq_zero_of_forall_inv_eq_of_isUnramifiedOutside382 below · depth 19 - Unique equivariant map of S∪∞-idèle modules along a tower
NumberField.SArchIdele.existsUnique_hom_res_obj_comp_toSIdele_eq3 below · depth 19 - Exactness at the S∪∞-idèle module
NumberField.SArchIdele.toSIdeleClass_mk_comp_diagS_eq_one_and_exists_of_eq_one2 below · depth 19 - Extending an S-unit map to P with S-level values
NumberField.SUnits.exists_ihom_extension_fixed_of_sLevel_of_injective2 below · depth 19 - Cocycles inflated from F lie in the image of Λ_E
NumberField.SUnits.exists_isGlobalBridge2_apply_eq_continuousH2Spi_of_forall_mul_eq8 below · depth 19 - Kernel of the global degree-two bridge dies under inflation
NumberField.SUnits.exists_level_forall_map_extInflR_eq_zero_of_isGlobalBridge2_apply_eq_zero48 below · depth 19 - Inflation invariance of the global degree-two bridge Λ_E
NumberField.SUnits.isGlobalBridge2_apply_inflation_eq3 below · depth 19 - Localisation of the degree-two global bridge at a finite place
NumberField.SUnits.locRes2S_isGlobalBridge2_apply_eq_of_finite7 below · depth 19 - p-capitulation of S-idèle classes at a Galois level
NumberField.exists_le_isGalois_forall_mem_range_sup_unitIdelesOutside_of_pow_mem13 below · depth 19 - Galois S-level Fsupseteq L' with p-th power norm relation
IntermediateField.exists_le_isGalois_dvd_finrank_forall_prod_fixingSubgroup_sClassAct_eq_pow284 below · depth 20 - Deep-twist product law for priced local root numbers above p
LanglandsTunnell.Converse.finprod_stdRootNumberAt_twist_mul_twist_eq_sq_of_le_floor22 below · depth 20 - Pinned conductor exponent unchanged by a shallow norm twist
LanglandsTunnell.Converse.pinnedExp_comp_idelicNorm_mul_eq_pinnedExp_of_hasConductorExponentAt_le_of_depth_floor3 below · depth 20 - Archimedean zeta integral of `jacquetVector3`, unfolded
LanglandsTunnell.CubicInduction.archZeta30_jacquetVector3_eq_archFactor_mul3 below · depth 20 - Archimedean functional equation for the induced GL₃ zeta integrals
LanglandsTunnell.CubicInduction.archZetaDual31_jacquetVector3_mul_archFactor_eq12 below · depth 20 - Explicit root number in the GL₃ functional equation at v
LanglandsTunnell.CubicInduction.eval_mul_eq_finprod_rootNumber_mul_eval_of_forall_localZeta31_fe_one_of_isCubicInductionDataOn_of_addCharLevel493 below · depth 20 - Local rationality and functional equation at a bad place
LanglandsTunnell.CubicInduction.exists_forall_exists_mul_eval_eq_of_isCubicInductionDataOn_of_forall_mem_bad_of_addCharLevel514 below · depth 20 - Conductor bound for the local central character at unramified v
LanglandsTunnell.CubicInduction.exists_hasConductorExponentAt_localChar_centralChar_le_inducedLevelAt_of_isCubicInductionDataOn278 below · depth 20 - Odd admissible twist with non-vanishing archimedean GL₃ × GL₁ zeta
LanglandsTunnell.CubicInduction.exists_isAdmissibleTwist_archZeta30_ne_zero_odd_of_isCubicInductionDataOn6 below · depth 20 - Archimedean zeta non-vanishing far right for a suitable translate
LanglandsTunnell.CubicInduction.exists_isAdmissibleTwist_archZeta30_ne_zero_of_isCubicInductionDataOn1 below · depth 20 - Local newvector of level K₁(ℓᵥ) at twist-ramified primes
LanglandsTunnell.CubicInduction.exists_mem_gl3CyclicSubspace_congruenceK1_torusValues_of_isCubicInductionDataOn615 below · depth 20 - Congruence-invariant vector in the local cyclic space at a ramified bad place
LanglandsTunnell.CubicInduction.exists_mem_gl3CyclicSubspace_principalLevel_le_of_isRamifiedIn_of_isCubicInductionDataOn_of_conductorBound615 below · depth 20 - A twist-independent constant in the deep-place GL₃× GL₁ functional equation
LanglandsTunnell.CubicInduction.exists_ne_zero_forall_eval_mul_eq_mul_rootNumber_mul_eval_of_forall_localZeta31_fe_twist_of_isCubicInductionDataOn_of_deep_of_archPackage_of_inv_eq_psiQ_of_whittakerLoc_one502 below · depth 20 - Converse-theorem input for the cubic induction from an archimedean Whittaker vector
LanglandsTunnell.CubicInduction.exists_whittaker_zeta_fe_of_forall_not_mem_isInducedSphericalAt_of_arch145 below · depth 20 - Product formula (prodᵥλᵥ²) λ_∞²=1 for a cubic induction
LanglandsTunnell.CubicInduction.finprod_sq_mul_lamSqArch_eq_one_of_forall_ne_zero_localZeta31_fe_rootNumber_of_isCubicInductionDataOn_of_archPackage_of_inv_eq_psiQ538 below · depth 20 - Rapid vertical decay of the archimedean zeta integral `archZeta30`
LanglandsTunnell.CubicInduction.forall_pow_mul_norm_archZeta30_jacquetVector3_le3 below · depth 20 - Polynomial decay of a dual archimedean zeta integral on strips
LanglandsTunnell.CubicInduction.forall_pow_mul_norm_archZetaDual31_jacquetVector3_le3 below · depth 20 - K-finiteness of the polynomial-times-Gaussian Jacquet vector on GL₃
LanglandsTunnell.CubicInduction.isKFinite_jacquetVector32 below · depth 20 - Integrability and continuity of the GL₃ Jacquet vector
LanglandsTunnell.CubicInduction.jacquetIntegrand3_integrable_and_jacquetVector3_continuous1 below · depth 20 - Convergence half-planes for archimedean GL₃timesGL₁ zeta integrals
LanglandsTunnell.CubicInduction.jacquetVector3_isArchZetaConvergentAbove4 below · depth 20 - Rapid decay of the GL₃ Jacquet–Whittaker vector
LanglandsTunnell.CubicInduction.jacquetVector3_norm_archComponent3_le6 below · depth 20 - Central character of the explicit GL₃ Jacquet vector
LanglandsTunnell.CubicInduction.jacquetVector3_scalar_mul1 below · depth 20 - Identified local functional equation passes to the cyclic span
LanglandsTunnell.CubicInduction.localZeta31_identified_of_mem_gl3CyclicSubspace1 below · depth 20 - S-part integrability of the GL₃ zeta and dual integrands
LanglandsTunnell.CubicInduction.sPart_integrable_and_dual_of_isCubicInductionDataOn_of_isGaugeMajorised353 below · depth 20 - Central character law for the archimedean Whittaker function
LanglandsTunnell.CubicInduction.whittakerArch_scalar_mul_eq_centralChar_mul_of_isCubicInductionDataOn0 below · depth 20 - Global realisation of local Rankin–Selberg pairs at p
LanglandsTunnell.RankinSelberg.exists_factor_fundamentalDomain_forall_rsGlobalIntegral_realisation_member_twisted_of_finiteFamily_arch_of_archNonvanishing467 below · depth 20 - Cut-off remainder integrands of the dual finite cell are integrable
LanglandsTunnell.RankinSelberg.exists_forall_integrable_cutoff_remainder_mul_finprod_away113 below · depth 20 - Half-plane integrability of primal and dual finite cell integrands
LanglandsTunnell.RankinSelberg.exists_forall_integrable_rsFinCellIntegrand_translate_and_dual104 below · depth 20 - Local GL₃× GL₂ gamma factor from a global realisation
LanglandsTunnell.RankinSelberg.exists_forall_mem_span_rsLocalIntegral_dual_mul_eq_mul_of_rsGlobalIntegral_realisation6 below · depth 20 - Unfolding the archimedean torus pairing of the GL₃ Jacquet vector
LanglandsTunnell.RankinSelberg.exists_forall_torusPair_jacquetVector3_eq_integral_quasiChar_mul_torusIntegral_mul_godementMellin6 below · depth 20 - Unfolded archimedean GL₂× GL₃ torus-pair identity at minimal type
LanglandsTunnell.RankinSelberg.exists_mem_polyGauss3_jacquetVector3_unfoldedTorusPair_eq_gammaFactor_of_archWhittakerDatum_of_isCasimirEigen_of_minimalType280 below · depth 20 - A non-vanishing rational local Rankin–Selberg pair at a level prime
LanglandsTunnell.RankinSelberg.exists_mem_rsLocalIntegral_ne_zero_and_rational_member_twisted_of_finiteFamily_arch_deep58 below · depth 20 - Finiteness, continuity and unit phase of dual Whittaker products
LanglandsTunnell.RankinSelberg.finite_mulSupport_and_continuous_and_exists_phase_finprod_dualWhittakerFn3_away1 below · depth 20 - Pair stability of the GL₃timesGL₂ local functional equation
LanglandsTunnell.RankinSelberg.forall_mem_span_rsLocalIntegral_dual_eq_mul_of_forall_localZeta31_fe_of_deepTwist_of_principalLevel_of_admissible_of_gammaFactor_of_forall_localZeta31_fe_of_bump_levelShift_global489 below · depth 20 - Swapping the S_Q-slots: dual and hybrid pure-tensor integrability
LanglandsTunnell.RankinSelberg.integrable_pureTensorTerm_dual_and_hybrid_of_integrable_cutoff_of_forall_lintegral_lt_top15 below · depth 20 - Unit idèles trivial on T meet principal idèles trivially
M4aHerbrand.disjoint_unitIdelesTrivialOn_principalIdeles0 below · depth 20 - One-step descent of the idèle-class fundamental class, p odd
M4aHerbrand.exists_fundamentalClass_ideleClassGroup_map_eq_finrank_smul_of_ne_two296 below · depth 20 - Fundamental class of the idèle class group, p-part of local classes
M4aHerbrand.exists_fundamentalClass_ideleClassGroup_smul_res_eq_smul_localFundamentalClass_of_ne_two383 below · depth 20 - Equivariance of the idèle class quotient map
M4aHerbrand.exists_hom_ideles_ideleClassGroup_apply0 below · depth 20 - Equivariant idèle base change and Hilbert 90 for idèle classes
M4aHerbrand.exists_hom_res_ideles_and_ideleClassGroup_injective_range_eq_invariants_of_isScalarTower6 below · depth 20 - Tate's reciprocity law for idèle classes, p-group case
M4aHerbrand.exists_invariant_forall_inv_map_eq_finsum_of_forall_localFundamentalClass_of_isPGroup368 below · depth 20 - 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 - Vanishing of Tate cohomology of the unit idèles outside T
M4aHerbrand.subsingleton_tateCohomology_unitIdelesTrivialOn_of_ramificationIdx_eq_one63 below · depth 20 - Sum of local invariants of a global class vanishes
NumberField.PlaceDecomp.finsum_inv_decomp_above_map_lam_rho_res_eq_zero_of_isPGroup_of_ne_two377 below · depth 20 - Image of the S∪∞-idèle module in the idèles
NumberField.SArchIdele.injective_comp_toSIdele_and_mem_range_iff2 below · depth 20 - S-units are units at valuation rings over primes outside S
NumberField.SUnits.algebraMap_mem_and_inv_mem_of_mem_sUnits_of_liesOverPrime0 below · depth 20 - An S-level making S-units of F₁ into p-th powers
NumberField.SUnits.exists_sLevel_forall_sUnitsRep_map_val_eq_pow13 below · depth 20 - Global degree-two bridge on the defect class equals the inflated cocycle
NumberField.SUnits.isGlobalBridge2_apply_map_homSeq_f_eq_continuousH2Spi_of_eq_delta0 below · depth 20 - Local-bridge classes of S-units lie in continuousH1S
NumberField.SUnits.isLocalBridge1_apply_mem_continuousH1S2 below · depth 20 - Local–global compatibility of the degree-one bridges at q
NumberField.SUnits.locRes_isLocalBridge1_apply_eq_of_finite0 below · depth 20 - Extension dichotomy for maps from the integral relation module
Rep.exists_comp_eq_or_exists_map_delta_ne_zero_of_forall_sum_rho_eq_nsmul119 below · depth 20 - Embedding B into Ind_N^G B with p-torsion cokernel
Rep.exists_hom_ind_injective_exact_of_forall_rho_eq0 below · depth 20 - Induction along H≤ G preserves short exactness
Rep.shortExact_map_indFunctor0 below · depth 20 - Embedding an abstract S-unramified Galois extension into a Galois S-level
IntermediateField.exists_le_isGalois_ringHom_dvd_finrank_of_ramificationIdx_eq_one8 below · depth 21 - Non-vanishing of the local GL₃× GL₁ zeta integral
LanglandsTunnell.CubicInduction.exists_isLocalZeta30ConvergentAbove_and_forall_exists_localZeta30_ne_zero_of_admissible_of_ne_zero13 below · depth 21 - Local zeta functional equation at a ramified place
LanglandsTunnell.CubicInduction.exists_localZeta31_fe_one_inducedEulerPoly_rational_of_isCubicInductionDataOn_of_isRamifiedIn527 below · depth 21 - Local functional equation at a bad place unramified in K
LanglandsTunnell.CubicInduction.exists_localZeta31_fe_one_inducedEulerPoly_rational_of_isCubicInductionDataOn_of_not_isRamifiedIn527 below · depth 21 - Integrability of the dual GL₃ zeta integrand of a Jacquet vector
LanglandsTunnell.CubicInduction.integrable_dualWhittakerFn3_jacquetVector3_prod2 below · depth 21 - Joint integrability of the dilated Jacquet integrand in three variables
LanglandsTunnell.CubicInduction.integrable_jacquetIntegrand3_dilate_mul_quasiChar1 below · depth 21 - Jacquet vector at a real diagonal torus element, unfolded
LanglandsTunnell.CubicInduction.jacquetVector3_iota_upperUnit_eq_integral_godementInner3_mulShift0 below · depth 21 - Place separation for local zeta quotients at a bad place
LanglandsTunnell.CubicInduction.mul_eq_mul_localZeta30_localZetaDual31_polynomial_of_isCubicInductionDataOn_of_forall_mem_bad512 below · depth 21 - Integrability of the dual S-part zeta integrand on GL₃
LanglandsTunnell.CubicInduction.sPartDual_integrable_of_isCubicInductionDataOn_of_isGaugeMajorised329 below · depth 21 - S-part factorisation of a GL₃ zeta integral
LanglandsTunnell.CubicInduction.sPart_eq_arch_mul_localZeta_v_mul_badPlacesPart_archDetermined_of_isCubicInductionDataOn4 below · depth 21 - Euler factorisation of the S-part zeta integral at v
LanglandsTunnell.CubicInduction.sPart_eq_arch_mul_localZeta_v_mul_badPlacesPart_archTwisted_of_isCubicInductionDataOn4 below · depth 21 - Convergence of the S-part zeta integral for cubic induction data
LanglandsTunnell.CubicInduction.sPart_integrable_of_isCubicInductionDataOn_of_isGaugeMajorised325 below · depth 21 - Integrability of the translated split dual finite cell integrand
LanglandsTunnell.RankinSelberg.exists_forall_integrable_translate_rsFinCellIntegrand_dual_split_of_dualFactor_phase109 below · depth 21 - Integrability of the unfolded archimedean torus-pair integrand
LanglandsTunnell.RankinSelberg.exists_forall_integrable_unfoldedTorusPairIntegrand_jacquetVector34 below · depth 21 - Purified p-slot splitting of Whittaker coefficients of p-adic translates
LanglandsTunnell.RankinSelberg.exists_frozen_forall_sum_translate_purified_whittakerCoefficient_eq_mul_pSlot_of_finiteFamily_arch351 below · depth 21 - p-slot factorisation of GL₃ Whittaker functions along ι
LanglandsTunnell.RankinSelberg.exists_frozen_forall_sum_translate_whittaker_iota_eq_mul_pSlot_of_finiteFamily_arch42 below · depth 21 - Local Rankin–Selberg integrals evaluating a finite Whittaker family
LanglandsTunnell.RankinSelberg.exists_mem_gl3CyclicSubspace_forall_rsLocalIntegral_eq_mul_apply_of_finite11 below · depth 21 - Level 3B bump vector in a twisted principal-series Whittaker model
LanglandsTunnell.RankinSelberg.exists_mem_gl3CyclicSubspace_twist_coefficientFn_principalSeries3_congruenceK1_invariant_iotaGL_bump_of_pos_of_level157 below · depth 21 - Unfolded archimedean torus pair and its dual Γ-factors
LanglandsTunnell.RankinSelberg.exists_mem_polyGauss3_iotaWeight_archZeta30_ne_zero_unfoldedTorusPair_and_dualTorusPair_eq_gammaFactor_of_archWhittakerDatum_of_isCasimirEigen272 below · depth 21 - Non-degenerate test pair for the local GL₃× GL₂ integral
LanglandsTunnell.RankinSelberg.exists_mem_span_forall_rsLocalIntegral_eq_const_ne_zero_of_isGL3PsiWhittakerFn13 below · depth 21 - A principal-series GL₃ Whittaker model with prescribed central character
LanglandsTunnell.RankinSelberg.exists_principalSeries3_whittaker_deepTwist_centralChar_of_higherUnitsAt_unitary_shallow12 below · depth 21 - Non-vanishing far right of a reference Rankin–Selberg integral
LanglandsTunnell.RankinSelberg.exists_pureTranslates_combination_forall_rsGlobalIntegral_ne_zero_member_twisted_of_finiteFamily_arch_of_archNonvanishing463 below · depth 21 - Rationality of local Rankin–Selberg integrals for GL₃ principal series
LanglandsTunnell.RankinSelberg.exists_rational_rsLocalIntegral_and_dual_of_principalSeries363 below · depth 21 - Unisolvence points, reference points and cut-off subgroups at S_Q
LanglandsTunnell.RankinSelberg.exists_unisolvence_refPoint_cutoff_of_linearIndependent_slots1 below · depth 21 - Multiplicativity of the GL₃timesGL₂ local γ-factor in principal series
LanglandsTunnell.RankinSelberg.forall_mem_span_rsLocalIntegral_dual_eq_mul_of_forall_localZeta31_fe_of_principalSeries273 below · depth 21 - Deep twist: GL₃timesGL₂ local integrals are Laurent polynomials
LanglandsTunnell.RankinSelberg.forall_mem_span_rsLocalIntegral_eq_laurent_of_deepTwist_of_principalLevel_of_admissible20 below · depth 21 - Pair stability at (3,2): transfer of the cleared functional equation
LanglandsTunnell.RankinSelberg.forall_rsLocalIntegral_clearedFE_of_forall_rsLocalIntegral_clearedFE_of_centralChar_eq_of_deepTwist_pairStability32_of_bump59 below · depth 21 - Multiplicativity of the local GL₃× GL₂ functional equation
LanglandsTunnell.RankinSelberg.forall_rsLocalIntegral_clearedFE_prod_of_principalSeries3_of_forall_torusZeta_fe_multiplicativity3_ed3305 below · depth 21 - Measurability and isolation identity for pure-tensor remainders
LanglandsTunnell.RankinSelberg.measurable_remainder_and_dualFactor_translate_mul_prod_eq_of_pureTensor_expansion2 below · depth 21 - Invariant maps for a p-group layer, assembled from hypotheses
M4aHerbrand.exists_invariant_forall_inv_map_eq_finsum_of_forall_localFundamentalClass_of_isPGroup_of_children312 below · depth 21
… and 306 more statements (search for the module name to find them).