import Definitions.Def_AutomorphicForm_TwistedOrbital import Definitions.Def_AutomorphicForm_FormalBaseChange import Definitions.Def_NumberField_PrincipalLevel import Definitions.Def_NumberField_TateGlobalZeta import Definitions.Def_LanglandsTunnell_ConverseData import Definitions.Def_LocalLanglands_HeckeCosetLocal import Definitions.Def_M4aHerbrand_GenuineDescent import Definitions.Def_TwistedNormClasses import Definitions.Def_AdelicDock_LocalEmbedding import Definitions.Def_AutomorphicForm_GL2ConjugacyCells import Definitions.Def_AutomorphicForm_TruncationOperator import Definitions.Def_AutomorphicForm_TwistedAdelicKernel import Definitions.Def_NumberField_AdelicHeight import Definitions.Def_Analysis_HalfLineIntercept set_option autoImplicit false open MeasureTheory NumberField NumberField.AdelicLevel NumberField.AdelicBox NumberField.AdelicHaar open IsDedekindDomain open scoped TensorProduct Pointwise ComplexConjugate attribute [local instance] NumberField.AdelicHaar.glBorel noncomputable section def AutomorphicForm.twistedGeometricRemainder (K L : Type) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] (D : M4aHerbrand.IdeleGaloisDescent (π“ž L) K L) (Οƒ : L ≃ₐ[K] L) (hgen : βˆ€ Ο„ : L ≃ₐ[K] L, Ο„ ∈ Subgroup.zpowers Οƒ) (Ξ¦L Ξ¦β‚€ : Set (AdelicGL2 (π“ž L) L)) [MeasurableSpace (AdeleRing (π“ž L) L)Λ£] (Ξ½ZL : Measure (AdeleRing (π“ž L) L)Λ£) (Ξ©L : Set (AdeleRing (π“ž L) L)Λ£) (ΞΎL : (⊀ : Subgroup (AdeleRing (π“ž L) L)Λ£) β†’* β„‚Λ£) (Ο† : AdelicGL2 (π“ž L) L β†’ β„‚) : β„‚ := HalfLine.intercept (fun R : ℝ => (∫ x in Ξ¦β‚€, (∫ z in Ξ©L, ((ΞΎL ⟨z, Subgroup.mem_top z⟩ : β„‚Λ£) : β„‚) * (@AutomorphicForm.lambdaT _ (productionPinsOf L Ξ¦L (fun M => levelOne (π“ž L) L M βŠ“ finiteAdelicGL2Subgroup L) (fun w => heckeGen (π“ž L) L w) (adelicBox L)).nS _ _ (productionPinsOf L Ξ¦L (fun M => levelOne (π“ž L) L M βŠ“ finiteAdelicGL2Subgroup L) (fun w => heckeGen (π“ž L) L w) (adelicBox L)).Ξ½ (fun t => AutomorphicForm.unipotentGL2 t) (NumberField.AdelicHeight.adelicHeight L) (Real.exp R) (fun y => AutomorphicForm.twistedAdelicKernel L (AutomorphicForm.sigmaAdelicAct K L D Οƒ) Ο† x y) (AutomorphicForm.centralScalar (π“ž L) L z * x)) βˆ‚Ξ½ZL) βˆ‚(adelicGLHaar (Fin 2) (π“ž L) L)) - (∫ x in Ξ¦L, (∫ z in Ξ©L, ((ΞΎL ⟨z, Subgroup.mem_top z⟩ : β„‚Λ£) : β„‚) * (βˆ‘αΆ  Ξ΄ ∈ {Ξ΄ : GL (Fin 2) L | βˆƒ Ξ³ : GL (Fin 2) K, (Ξ³ ∈ AutomorphicForm.ellipticCell K ∨ Ξ³ ∈ AutomorphicForm.centralCell K) ∧ LT.TwistedNorm.normClassMap hgen (LT.TwistedNorm.SigmaConjClasses.mk Οƒ Ξ΄) = ConjClasses.mk Ξ³}, Ο† (x⁻¹ * AutomorphicForm.globalPoints (π“ž L) L Ξ΄ * AutomorphicForm.sigmaAdelicAct K L D Οƒ (AutomorphicForm.centralScalar (π“ž L) L z * x))) βˆ‚Ξ½ZL) βˆ‚(adelicGLHaar (Fin 2) (π“ž L) L))) open scoped TensorProduct.RightActions in theorem AutomorphicForm.twistedGeometricRemainder_eq_of_forall_le_setIntegral_eq (K L : Type) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] [DecidableEq (HeightOneSpectrum (π“ž K))] (Ξ¦L : Set (AdelicGL2 (π“ž L) L)) [MeasurableSpace (AdeleRing (π“ž L) L)Λ£] (Ξ½ZL : Measure (AdeleRing (π“ž L) L)Λ£) (Ξ©L : Set (AdeleRing (π“ž L) L)Λ£) (D : M4aHerbrand.IdeleGaloisDescent (π“ž L) K L) (Οƒ : L ≃ₐ[K] L) (hgen : βˆ€ Ο„ : L ≃ₐ[K] L, Ο„ ∈ Subgroup.zpowers Οƒ) (SL : Finset (HeightOneSpectrum (π“ž L))) (ΞΎL : (⊀ : Subgroup (AdeleRing (π“ž L) L)Λ£) β†’* β„‚Λ£) (S : Finset (HeightOneSpectrum (π“ž K))) (Ο†a : GL (Fin 2) (InfiniteAdeleRing L) β†’ β„‚) (Ο†S : βˆ€ v : HeightOneSpectrum (π“ž K), GL (Fin 2) (L βŠ—[K] v.adicCompletion K) β†’ β„‚) (Ξ¦β‚€ : Set (AdelicGL2 (π“ž L) L)) (ΞΌ Ξ½ : (HeightOneSpectrum (π“ž K) β†’ β„•) β†’ (HeightOneSpectrum (π“ž K) β†’ β„•) β†’ β„‚) : βˆ€ (T : Finset (HeightOneSpectrum (π“ž K))), Disjoint T S β†’ 2 ≀ T.card β†’ (βˆ€ v ∈ T, βˆ€ w : HeightOneSpectrum (π“ž L), HeightOneSpectrum.under (π“ž K) w = v β†’ w βˆ‰ SL) β†’ βˆ€ (ws : βˆ€ v : HeightOneSpectrum (π“ž K), v.Extension (π“ž L)) (w' : HeightOneSpectrum (π“ž K) β†’ HeightOneSpectrum (π“ž L)), (βˆ€ v ∈ T, (w' v).asIdeal = Οƒ β€’ (ws v).1.asIdeal) β†’ βˆ€ (Ο–s : βˆ€ v : HeightOneSpectrum (π“ž K), (ws v).1.adicCompletionIntegers L), (βˆ€ v ∈ T, Irreducible (Ο–s v)) β†’ βˆ€ (hΟ–s0 : βˆ€ v ∈ T, algebraMap ((ws v).1.adicCompletionIntegers L) ((ws v).1.adicCompletion L) (Ο–s v) β‰  0) (ns : HeightOneSpectrum (π“ž K) β†’ β„•) (rTs : βˆ€ v : HeightOneSpectrum (π“ž K), Fin (ns v) β†’ GL (Fin 2) ((ws v).1.adicCompletion L)), (βˆ€ (v : HeightOneSpectrum (π“ž K)) (hv : v ∈ T), HeckeIntegralSeam.IsHeckeCosetSystem (LocalGL2.integralSubgroup ((ws v).1.adicCompletionIntegers L) ((ws v).1.adicCompletion L)) (LocalGL2.diagPi (Ο–s v) (hΟ–s0 v hv)) (rTs v)) β†’ βˆ€ (zs : βˆ€ v : HeightOneSpectrum (π“ž K), GL (Fin 2) ((ws v).1.adicCompletion L)), (βˆ€ v ∈ T, (zs v : Matrix (Fin 2) (Fin 2) ((ws v).1.adicCompletion L)) = algebraMap ((ws v).1.adicCompletionIntegers L) ((ws v).1.adicCompletion L) (Ο–s v) β€’ (1 : Matrix (Fin 2) (Fin 2) ((ws v).1.adicCompletion L))) β†’ (βˆ€ (ks js : HeightOneSpectrum (π“ž K) β†’ β„•) (Ο† : AdelicGL2 (π“ž L) L β†’ β„‚) (Ο†f : GL (Fin 2) (FiniteAdeleRing (π“ž L) L) β†’ β„‚), IsSemiLocalFactorization K L (S βˆͺ T) Ο† Ο†a Ο†f (fun v => if v ∈ T then fun x : GL (Fin 2) (L βŠ—[K] v.adicCompletion K) => βˆ‘ ΞΉ : Fin (ks v) β†’ Fin (ns v), (semiLocalIntegralSet K L v).indicator (fun _ => (1 : β„‚)) ((semiLocalComponent K L v (AdelicDock.localEmbed (π“ž L) L (ws v).1 ((List.ofFn fun m => rTs v (ΞΉ m)).prod * zs v ^ js v)))⁻¹ * x) else Ο†S v) β†’ βˆƒ Rβ‚€ : ℝ, βˆ€ R : ℝ, Rβ‚€ ≀ R β†’ ( ∫ x in Ξ¦β‚€, (∫ z in Ξ©L, ((ΞΎL ⟨z, Subgroup.mem_top z⟩ : β„‚Λ£) : β„‚) * (@AutomorphicForm.lambdaT _ (productionPinsOf L Ξ¦L (fun M => levelOne (π“ž L) L M βŠ“ finiteAdelicGL2Subgroup L) (fun w => heckeGen (π“ž L) L w) (adelicBox L)).nS _ _ (productionPinsOf L Ξ¦L (fun M => levelOne (π“ž L) L M βŠ“ finiteAdelicGL2Subgroup L) (fun w => heckeGen (π“ž L) L w) (adelicBox L)).Ξ½ (fun t => AutomorphicForm.unipotentGL2 t) (NumberField.AdelicHeight.adelicHeight L) (Real.exp R) (fun y => AutomorphicForm.twistedAdelicKernel L (AutomorphicForm.sigmaAdelicAct K L D Οƒ) Ο† x y) (AutomorphicForm.centralScalar (π“ž L) L z * x)) βˆ‚Ξ½ZL) βˆ‚(adelicGLHaar (Fin 2) (π“ž L) L)) = (∫ x in Ξ¦L, (∫ z in Ξ©L, ((ΞΎL ⟨z, Subgroup.mem_top z⟩ : β„‚Λ£) : β„‚) * (βˆ‘αΆ  Ξ΄ ∈ {Ξ΄ : GL (Fin 2) L | βˆƒ Ξ³ : GL (Fin 2) K, (Ξ³ ∈ AutomorphicForm.ellipticCell K ∨ Ξ³ ∈ AutomorphicForm.centralCell K) ∧ LT.TwistedNorm.normClassMap hgen (LT.TwistedNorm.SigmaConjClasses.mk Οƒ Ξ΄) = ConjClasses.mk Ξ³}, Ο† (x⁻¹ * AutomorphicForm.globalPoints (π“ž L) L Ξ΄ * AutomorphicForm.sigmaAdelicAct K L D Οƒ (AutomorphicForm.centralScalar (π“ž L) L z * x))) βˆ‚Ξ½ZL) βˆ‚(adelicGLHaar (Fin 2) (π“ž L) L)) + ((R : β„‚) * Ξ½ ks js + ΞΌ ks js)) β†’ βˆ€ (ks js : HeightOneSpectrum (π“ž K) β†’ β„•) (Ο† : AdelicGL2 (π“ž L) L β†’ β„‚) (Ο†f : GL (Fin 2) (FiniteAdeleRing (π“ž L) L) β†’ β„‚), IsSemiLocalFactorization K L (S βˆͺ T) Ο† Ο†a Ο†f (fun v => if v ∈ T then fun x : GL (Fin 2) (L βŠ—[K] v.adicCompletion K) => βˆ‘ ΞΉ : Fin (ks v) β†’ Fin (ns v), (semiLocalIntegralSet K L v).indicator (fun _ => (1 : β„‚)) ((semiLocalComponent K L v (AdelicDock.localEmbed (π“ž L) L (ws v).1 ((List.ofFn fun m => rTs v (ΞΉ m)).prod * zs v ^ js v)))⁻¹ * x) else Ο†S v) β†’ AutomorphicForm.twistedGeometricRemainder K L D Οƒ hgen Ξ¦L Ξ¦β‚€ Ξ½ZL Ξ©L ΞΎL Ο† = ΞΌ ks js := by intro T _ _ _ ws w' _ Ο–s _ hΟ–s0 ns rTs _ zs _ hspan ks js Ο† Ο†f hfac obtain ⟨Rβ‚€, hR⟩ := hspan ks js Ο† Ο†f hfac unfold AutomorphicForm.twistedGeometricRemainder exact HalfLine.intercept_eq_of_forall_le_eq_add_mul ⟨Rβ‚€, fun R hle => sub_eq_iff_eq_add'.mpr (hR R hle)⟩ open AutomorphicForm in open scoped TensorProduct.RightActions in example (K L : Type) [Field K] [NumberField K] [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] [DecidableEq (HeightOneSpectrum (π“ž K))] (Ξ± Ξ² : ℝ) (_hΞ± : 0 < Ξ±) (Ξ¦L : Set (AdelicGL2 (π“ž L) L)) (_hΞ¦s : Ξ¦L βŠ† {g | NumberField.TateGlobal.ideleNorm L (Matrix.GeneralLinearGroup.det g) ∈ Set.Icc Ξ± Ξ²}) (_hΞ¦ : IsFundamentalDomain (globalPoints (π“ž L) L).range Ξ¦L ((adelicGLHaar (Fin 2) (π“ž L) L).restrict {g | NumberField.TateGlobal.ideleNorm L (Matrix.GeneralLinearGroup.det g) ∈ Set.Icc Ξ± Ξ²})) [MeasurableSpace (AdeleRing (π“ž L) L)Λ£] [BorelSpace (AdeleRing (π“ž L) L)Λ£] (Ξ½ZL : Measure (AdeleRing (π“ž L) L)Λ£) [Ξ½ZL.IsHaarMeasure] (Ξ©L : Set (AdeleRing (π“ž L) L)Λ£) (_hΞ©L : IsFundamentalDomain (Units.map (algebraMap L (AdeleRing (π“ž L) L) : L β†’* AdeleRing (π“ž L) L)).range Ξ©L Ξ½ZL) (D : M4aHerbrand.IdeleGaloisDescent (π“ž L) K L) (Οƒ : L ≃ₐ[K] L) (hgen : βˆ€ Ο„ : L ≃ₐ[K] L, Ο„ ∈ Subgroup.zpowers Οƒ) (_SL : Finset (HeightOneSpectrum (π“ž L))) (ΞΎL : (⊀ : Subgroup (AdeleRing (π“ž L) L)Λ£) β†’* β„‚Λ£) (_hΞΎc : Continuous fun z : (AdeleRing (π“ž L) L)Λ£ => ((ΞΎL ⟨z, Subgroup.mem_top z⟩ : β„‚Λ£) : β„‚)) (_hΞΎt : βˆ€ z : (AdeleRing (π“ž L) L)Λ£, z ∈ (Units.map (algebraMap L (AdeleRing (π“ž L) L) : L β†’* AdeleRing (π“ž L) L)).range β†’ ΞΎL ⟨z, Subgroup.mem_top z⟩ = 1) (_S : Finset (HeightOneSpectrum (π“ž K))) (_Ο†a : GL (Fin 2) (InfiniteAdeleRing L) β†’ β„‚) (_Ο†S : βˆ€ v : HeightOneSpectrum (π“ž K), GL (Fin 2) (L βŠ—[K] v.adicCompletion K) β†’ β„‚) (c u d₁ dβ‚‚ : ℝ) (_hc : 0 < c) (Tc : Set (AdelicGL2 (π“ž L) L)) (_hTc : IsCompact Tc) (Ξ¦β‚€ : Set (AdelicGL2 (π“ž L) L)) (_hΞ¦β‚€S : Ξ¦β‚€ βŠ† ⋃ y ∈ Tc, (Β· * y) '' WindowedSiegel.centreCutSiegelSet L c u d₁ dβ‚‚) (_hΞ¦β‚€s : Ξ¦β‚€ βŠ† {g | NumberField.TateGlobal.ideleNorm L (Matrix.GeneralLinearGroup.det g) ∈ Set.Icc Ξ± Ξ²}) (_hΞ¦β‚€ : IsFundamentalDomain (globalPoints (π“ž L) L).range Ξ¦β‚€ ((adelicGLHaar (Fin 2) (π“ž L) L).restrict {g | NumberField.TateGlobal.ideleNorm L (Matrix.GeneralLinearGroup.det g) ∈ Set.Icc Ξ± Ξ²})) (Ο† : AdelicGL2 (π“ž L) L β†’ β„‚) : β„‚ := AutomorphicForm.twistedGeometricRemainder K L D Οƒ hgen Ξ¦L Ξ¦β‚€ Ξ½ZL Ξ©L ΞΎL Ο† end