import Definitions.Def_LanglandsTunnell_CubicInduction_SlabL2Cusp open NumberField IsDedekindDomain Matrix open scoped InnerProductSpace namespace LanglandsTunnell.CubicInduction.SlabL2 def IsSpectralTranslation3 (h : AdelicGL 3 (π“ž β„š) β„š) : Prop := h ∈ (archComponent3 (π“ž β„š) β„š).ker ∨ ((βˆ€ p : HeightOneSpectrum (π“ž β„š), componentAt3 (π“ž β„š) β„š p h = 1) ∧ (archComponent3 (π“ž β„š) β„š h : Matrix (Fin 3) (Fin 3) (InfiniteAdeleRing β„š))α΅€ * (archComponent3 (π“ž β„š) β„š h : Matrix (Fin 3) (Fin 3) (InfiniteAdeleRing β„š)) = 1) def IsCuspLift3 (Ο‰ : (AdeleRing (π“ž β„š) β„š)Λ£ β†’* β„‚Λ£) (a b : ℝ) (Ξ¦β‚€ : Set (AdelicGL 3 (π“ž β„š) β„š)) (op : (AdelicGL 3 (π“ž β„š) β„š β†’ β„‚) β†’ (AdelicGL 3 (π“ž β„š) β„š β†’ β„‚)) (T : β†₯(cuspidalSubspace Ο‰ a b Ξ¦β‚€) β†’L[β„‚] β†₯(cuspidalSubspace Ο‰ a b Ξ¦β‚€)) : Prop := βˆ€ (F : AdelicGL 3 (π“ž β„š) β„š β†’ β„‚) (hF : F ∈ cuspFunctions Ο‰ a b Ξ¦β‚€), βˆƒ hRF : op F ∈ cuspFunctions Ο‰ a b Ξ¦β‚€, (T ⟨toL2 Ο‰ a b Ξ¦β‚€ ⟨F, hF.1⟩, toL2_mem_cuspidalSubspace_of_mem_cuspFunctions Ο‰ a b Ξ¦β‚€ hF⟩ : Carrier a b Ξ¦β‚€) = toL2 Ο‰ a b Ξ¦β‚€ ⟨op F, hRF.1⟩ def spectralGenerators3 (Ο‰ : (AdeleRing (π“ž β„š) β„š)Λ£ β†’* β„‚Λ£) (a b : ℝ) (Ξ¦β‚€ : Set (AdelicGL 3 (π“ž β„š) β„š)) : Set (β†₯(cuspidalSubspace Ο‰ a b Ξ¦β‚€) β†’L[β„‚] β†₯(cuspidalSubspace Ο‰ a b Ξ¦β‚€)) := {T | βˆƒ h : AdelicGL 3 (π“ž β„š) β„š, IsSpectralTranslation3 h ∧ IsCuspLift3 Ο‰ a b Ξ¦β‚€ (translateRight h) T} βˆͺ {T | βˆƒ Ο† : AdelicGL 3 (π“ž β„š) β„š β†’ β„‚, IsSmoothingKernel Ο† ∧ IsCuspLift3 Ο‰ a b Ξ¦β‚€ (smoothingOperator Ο†) T} def spectralOperators3 (Ο‰ : (AdeleRing (π“ž β„š) β„š)Λ£ β†’* β„‚Λ£) (a b : ℝ) (Ξ¦β‚€ : Set (AdelicGL 3 (π“ž β„š) β„š)) : Set (β†₯(cuspidalSubspace Ο‰ a b Ξ¦β‚€) β†’L[β„‚] β†₯(cuspidalSubspace Ο‰ a b Ξ¦β‚€)) := spectralGenerators3 Ο‰ a b Ξ¦β‚€ βˆͺ {T | βˆƒ S ∈ spectralGenerators3 Ο‰ a b Ξ¦β‚€, βˆ€ x y : β†₯(cuspidalSubspace Ο‰ a b Ξ¦β‚€), βŸͺT x, y⟫_β„‚ = βŸͺx, S y⟫_β„‚} end LanglandsTunnell.CubicInduction.SlabL2