import Definitions.Def_AutomorphicForm_WhittakerCoefficient import Definitions.Def_AdelicDock_LocalEmbedding import Definitions.Def_NumberField_SiegelVolume set_option autoImplicit false open NumberField IsDedekindDomain namespace AutomorphicForm.WhittakerModel variable (F : Type) [Field F] [NumberField F] noncomputable def localFnAt (pins : CarrierPins F) (ψ : AddChar (AdeleRing (𝓞 F) F) ℂ) (v : HeightOneSpectrum (𝓞 F)) (φ : AdelicGL2 (𝓞 F) F → ℂ) : GL (Fin 2) (v.adicCompletion F) → ℂ := fun g => whittakerCoefficient F pins ψ φ 1 (AdelicDock.finEmbed (𝓞 F) F (AdelicDock.localEmbed (𝓞 F) F v g)) noncomputable def localSpaceAt (pins : CarrierPins F) (ψ : AddChar (AdeleRing (𝓞 F) F) ℂ) (v : HeightOneSpectrum (𝓞 F)) (φ : AdelicGL2 (𝓞 F) F → ℂ) : Submodule ℂ (GL (Fin 2) (v.adicCompletion F) → ℂ) := Submodule.span ℂ {W | ∃ h : AdelicGL2 (𝓞 F) F, W = localFnAt F pins ψ v (fun x => φ (x * h))} noncomputable def archFnAt (pins : CarrierPins F) (ψ : AddChar (AdeleRing (𝓞 F) F) ℂ) (w : InfinitePlace F) (φ : AdelicGL2 (𝓞 F) F → ℂ) : GL (Fin 2) w.Completion → ℂ := fun g => whittakerCoefficient F pins ψ φ 1 (NumberField.SiegelVolume.archEmbed F w g) noncomputable def archSpaceAt (pins : CarrierPins F) (ψ : AddChar (AdeleRing (𝓞 F) F) ℂ) (w : InfinitePlace F) (φ : AdelicGL2 (𝓞 F) F → ℂ) : Submodule ℂ (GL (Fin 2) w.Completion → ℂ) := Submodule.span ℂ {W | ∃ h : AdelicGL2 (𝓞 F) F, W = archFnAt F pins ψ w (fun x => φ (x * h))} variable {F} @[simp] theorem localFnAt_zero (pins : CarrierPins F) (ψ : AddChar (AdeleRing (𝓞 F) F) ℂ) (v : HeightOneSpectrum (𝓞 F)) : localFnAt F pins ψ v (fun _ => (0 : ℂ)) = fun _ => 0 := funext fun _ => by simp only [localFnAt, whittakerCoefficient_zero] @[simp] theorem archFnAt_zero (pins : CarrierPins F) (ψ : AddChar (AdeleRing (𝓞 F) F) ℂ) (w : InfinitePlace F) : archFnAt F pins ψ w (fun _ => (0 : ℂ)) = fun _ => 0 := funext fun _ => by simp only [archFnAt, whittakerCoefficient_zero] theorem localSpaceAt_zero (pins : CarrierPins F) (ψ : AddChar (AdeleRing (𝓞 F) F) ℂ) (v : HeightOneSpectrum (𝓞 F)) : localSpaceAt F pins ψ v (fun _ => (0 : ℂ)) = ⊥ := by refine Submodule.span_eq_bot.2 ?_ rintro W ⟨h, rfl⟩ funext g simp only [localFnAt, whittakerCoefficient_zero, Pi.zero_apply] theorem archSpaceAt_zero (pins : CarrierPins F) (ψ : AddChar (AdeleRing (𝓞 F) F) ℂ) (w : InfinitePlace F) : archSpaceAt F pins ψ w (fun _ => (0 : ℂ)) = ⊥ := by refine Submodule.span_eq_bot.2 ?_ rintro W ⟨h, rfl⟩ funext g simp only [archFnAt, whittakerCoefficient_zero, Pi.zero_apply] end AutomorphicForm.WhittakerModel