import Definitions.Def_AutomorphicForm_ConstantTerm import Definitions.Def_AutomorphicForm_AdelicLsXi import Definitions.Def_NumberField_AdelicHaar import Definitions.Def_NumberField_AdelicBox import Definitions.Def_HaarQuotient open MeasureTheory NumberField NumberField.AdelicHaar NumberField.AdelicBox noncomputable section namespace AutomorphicForm attribute [local instance] NumberField.AdelicHaar.glBorel NumberField.AdelicHaar.borelSpace_glBorel NumberField.AdelicHaar.adeleBorel NumberField.AdelicHaar.borelSpace_adeleBorel variable (K : Type*) [Field K] [NumberField K] abbrev adelicUnipotent : Subgroup (AdelicGL2 (๐“ž K) K) := (unipotentGL2Hom (R := AdeleRing (๐“ž K) K)).range abbrev UnipotentQuotient : Type _ := MulAction.orbitRel.Quotient (adelicUnipotent K) (AdelicGL2 (๐“ž K) K) def toAdelicUnipotent (x : AdeleRing (๐“ž K) K) : adelicUnipotent K := (unipotentGL2Hom (R := AdeleRing (๐“ž K) K)).rangeRestrict (Multiplicative.ofAdd x) def unipotentHaar : Measure (adelicUnipotent K) := Measure.map (toAdelicUnipotent K) (((adelicAddHaar (๐“ž K) K) (adelicBox K))โปยน โ€ข adelicAddHaar (๐“ž K) K) def unipotentQuotientMeasure : Measure (UnipotentQuotient K) := HaarQuotient.measure (adelicGLHaar (Fin 2) (๐“ž K) K) (adelicUnipotent K) (unipotentHaar K) end AutomorphicForm end