import Definitions.Def_AdelicDock_LocalEmbedding import Definitions.Def_AutomorphicForm_AdelicTracePushforward import Definitions.Def_NumberField_TateGlobalZeta set_option autoImplicit false open MeasureTheory NumberField IsDedekindDomain open scoped TensorProduct noncomputable section namespace TwistedUnipotentTerm section Definitions noncomputable def semiLocalUnipotent (K L : Type) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] (v : IsDedekindDomain.HeightOneSpectrum (π“ž K)) (x : L βŠ—[K] v.adicCompletion K) : GL (Fin 2) (L βŠ—[K] v.adicCompletion K) := ⟨!![1, x; 0, 1], !![1, -x; 0, 1], by ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two], by ext i j fin_cases i <;> fin_cases j <;> simp [Matrix.mul_apply, Fin.sum_univ_two]⟩ noncomputable def semiLocalCentral (K L : Type) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] (v : IsDedekindDomain.HeightOneSpectrum (π“ž K)) (ΞΆ : (L βŠ—[K] v.adicCompletion K)Λ£) : GL (Fin 2) (L βŠ—[K] v.adicCompletion K) := Units.map (Matrix.scalar (Fin 2) : L βŠ—[K] v.adicCompletion K β†’+* Matrix (Fin 2) (Fin 2) _).toMonoidHom ΞΆ noncomputable def semiLocalUnitComponent (K L : Type) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] (v : IsDedekindDomain.HeightOneSpectrum (π“ž K)) (w : v.Extension (π“ž L)) (ΞΆ : (L βŠ—[K] v.adicCompletion K)Λ£) : (w.1.adicCompletion L)Λ£ := Units.map (Pi.evalMonoidHom (fun w' : v.Extension (π“ž L) => w'.1.adicCompletion L) w) (Units.mapEquiv (HeightOneSpectrum.adicCompletion.baseChangeAlgEquiv K L (π“ž L) v).toRingEquiv.toMulEquiv ΞΆ) noncomputable def semiLocalCharacter (K L : Type) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] (ΞΎL : (⊀ : Subgroup (AdeleRing (π“ž L) L)Λ£) β†’* β„‚Λ£) (v : IsDedekindDomain.HeightOneSpectrum (π“ž K)) (ΞΆ : (L βŠ—[K] v.adicCompletion K)Λ£) : β„‚ := ∏ᢠ w : v.Extension (π“ž L), ((ΞΎL ⟨Matrix.GeneralLinearGroup.det (NumberField.AdelicLevel.heckeGenAt (π“ž L) L w.1 (semiLocalUnitComponent K L v w ΞΆ)), Subgroup.mem_top _⟩ : β„‚Λ£) : β„‚) noncomputable def wordIndicator (K L : Type) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] (v : IsDedekindDomain.HeightOneSpectrum (π“ž K)) (w : v.Extension (π“ž L)) (m : β„•) (rT : Fin m β†’ GL (Fin 2) (w.1.adicCompletion L)) (z : GL (Fin 2) (w.1.adicCompletion L)) (k j : β„•) (x : GL (Fin 2) (L βŠ—[K] v.adicCompletion K)) : β„‚ := βˆ‘ ΞΉ : Fin k β†’ Fin m, (AutomorphicForm.semiLocalIntegralSet K L v).indicator (fun _ => (1 : β„‚)) ((AutomorphicForm.semiLocalComponent K L v (AdelicDock.localEmbed (π“ž L) L w.1 ((List.ofFn fun i => rT (ΞΉ i)).prod * z ^ j)))⁻¹ * x) open scoped TensorProduct.RightActions in noncomputable def unipotentOrbitalFn (K L : Type) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] (ΞΎL : (⊀ : Subgroup (AdeleRing (π“ž L) L)Λ£) β†’* β„‚Λ£) (v : IsDedekindDomain.HeightOneSpectrum (π“ž K)) (w : v.Extension (π“ž L)) (m : β„•) (rT : Fin m β†’ GL (Fin 2) (w.1.adicCompletion L)) (z : GL (Fin 2) (w.1.adicCompletion L)) (k j : β„•) (x : L βŠ—[K] v.adicCompletion K) : β„‚ := letI : MeasurableSpace (GL (Fin 2) (L βŠ—[K] v.adicCompletion K)) := AutomorphicForm.glBorelOf (L βŠ—[K] v.adicCompletion K) haveI := AutomorphicForm.isTopologicalRing_tensor K L (v.adicCompletion K) haveI := AutomorphicForm.t2Space_tensor K L (v.adicCompletion K) haveI := AutomorphicForm.locallyCompactSpace_tensor K L (v.adicCompletion K) haveI : LocallyCompactSpace (L βŠ—[K] v.adicCompletion K)Λ£ := Units.isClosedEmbedding_embedProduct.locallyCompactSpace letI : MeasurableSpace (L βŠ—[K] v.adicCompletion K)Λ£ := borel _ haveI : BorelSpace (L βŠ—[K] v.adicCompletion K)Λ£ := ⟨rfl⟩ ∫ ΞΆ : (L βŠ—[K] v.adicCompletion K)Λ£, semiLocalCharacter K L ΞΎL v ΞΆ * ∫ ΞΊ in AutomorphicForm.semiLocalIntegralSet K L v, wordIndicator K L v w m rT z k j (κ⁻¹ * semiLocalCentral K L v ΞΆ * semiLocalUnipotent K L v x) βˆ‚(AutomorphicForm.semiLocalHaar K L v) βˆ‚(Measure.haar : Measure (L βŠ—[K] v.adicCompletion K)Λ£) end Definitions end TwistedUnipotentTerm section RootDefinitions open AutomorphicForm in noncomputable def twistedLocalFactor (K L : Type) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] (D : M4aHerbrand.IdeleGaloisDescent (π“ž L) K L) (Οƒ : L ≃ₐ[K] L) (ΞΎL : (⊀ : Subgroup (AdeleRing (π“ž L) L)Λ£) β†’* β„‚Λ£) (v : HeightOneSpectrum (π“ž K)) (w : v.Extension (π“ž L)) (m : β„•) (rT : Fin m β†’ GL (Fin 2) (w.1.adicCompletion L)) (z : GL (Fin 2) (w.1.adicCompletion L)) (k j : β„•) : v.adicCompletion K β†’ β„‚ := have _ := D have _ := Οƒ letI : MeasurableSpace (v.adicCompletion K) := borel _ haveI : BorelSpace (v.adicCompletion K) := ⟨rfl⟩ AdelicTracePushforward.localTracePushforward K L v (TwistedUnipotentTerm.unipotentOrbitalFn K L ΞΎL v w m rT z k j) def IsJointFactorizableStandardOutside {F : Type} [Field F] [NumberField F] (f : AdeleRing (π“ž F) F β†’ β„‚) (S : Finset (HeightOneSpectrum (π“ž F))) (g : InfiniteAdeleRing F β†’ β„‚) (h : (v : HeightOneSpectrum (π“ž F)) β†’ v.adicCompletion F β†’ β„‚) : Prop := βˆ€ x, f x = (NumberField.TateGlobal.integralOutside S).indicator (fun x => g x.1 * ∏ v ∈ S, h v ((x.2 : FiniteAdeleRing (π“ž F) F) v)) x end RootDefinitions end