Definitions/Def_QuaternionAlgebra_QMPeriodLattice.lean
Period map and period lattice of a rational quaternion algebra
Fix rationals a,b and work with the quaternion algebra \mathbb{H}[\mathbb{Q},a,b] in Mathlib's presentation, i.e. the \mathbb{Q}-algebra with basis 1,i,j,k and i^2=a, j^2=b, k=ij=-ji. Given a \mathbb{Q}-algebra homomorphism \iota \colon \mathbb{H}[\mathbb{Q},a,b] \to M_2(\mathbb{R}) and a point \tau of the upper half-plane, qmPeriodMap is the \mathbb{Z}-linear map \mathbb{H}[\mathbb{Q},a,b] \to \mathbb{C}^2 (target the function type Fin 2 → ℂ) sending x to the matrix–vector product of the entrywise complexification of \iota(x) with the column vector (\tau,1); thus x \mapsto \iota(x)\binom{\tau}{1}, where \tau is the complex number underlying the upper half-plane point. The accompanying lemma qmPeriodMap_apply records this defining formula for the bundled map.
Given in addition a \mathbb{Z}-submodule \Lambda of \mathbb{H}[\mathbb{Q},a,b] — in the intended applications an order, or a one-sided ideal of an order — qmPeriodLattice is the \mathbb{Z}-submodule of \mathbb{C}^2 obtained as the image \Lambda under qmPeriodMap ι τ. It is by construction a subgroup of \mathbb{C}^2, with no discreteness, rank or stability claim attached: nothing here asserts that it is a lattice, and no hypothesis such as ab \neq 0 or indefiniteness of the algebra is imposed on \iota beyond its being a \mathbb{Q}-algebra map. The lemma mem_qmPeriodLattice_iff unfolds membership: a vector v \in \mathbb{C}^2 lies in qmPeriodLattice ι Λ τ exactly when v = \iota(x)\binom{\tau}{1} for some x \in \Lambda.
Relation to Mathlib
Built on Mathlib's QuaternionAlgebra presentation \mathbb{H}[\mathbb{Q},a,b], UpperHalfPlane and Submodule.map; Mathlib has no notion of the period map or period lattice attached to a splitting of a quaternion algebra, so these are the project's own definitions.
Where it is used
These are the analytic data out of which complex tori \mathbb{C}^2/\Lambda_\tau with quaternionic multiplication are formed, the uniformisation underlying the Shimura curves and quaternionic automorphic forms used on the modularity side of the argument.
References
- G. Shimura, Introduction to the Arithmetic Theory of Automorphic Functions, Iwanami Shoten and Princeton University Press, 1971, Section 9.2
- J. Voight, Quaternion Algebras, Graduate Texts in Mathematics 288, Springer, 2021, Section 43.6
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 38 lines
- 4 declarations
- used in the statements of 79 theorems and imported by 85 proofs
- imports 0 definition modules
Source file: Definitions/Def_QuaternionAlgebra_QMPeriodLattice.lean
Declarations
- def
QuaternionAlgebra.qmPeriodMap - theorem
QuaternionAlgebra.qmPeriodMap_apply - def
QuaternionAlgebra.qmPeriodLattice - theorem
QuaternionAlgebra.mem_qmPeriodLattice_iff
Source
import Mathlib set_option autoImplicit false noncomputable section open scoped Quaternion namespace QuaternionAlgebra variable {a b : ℚ} def qmPeriodMap (ι : ℍ[ℚ, a, b] →ₐ[ℚ] Matrix (Fin 2) (Fin 2) ℝ) (τ : UpperHalfPlane) : ℍ[ℚ, a, b] →ₗ[ℤ] (Fin 2 → ℂ) := AddMonoidHom.toIntLinearMap { toFun := fun x => ((ι x).map (algebraMap ℝ ℂ)).mulVec ![(τ : ℂ), 1] map_zero' := by simp map_add' := fun x y => by simp [Matrix.map_add, Matrix.add_mulVec] } @[simp] theorem qmPeriodMap_apply (ι : ℍ[ℚ, a, b] →ₐ[ℚ] Matrix (Fin 2) (Fin 2) ℝ) (τ : UpperHalfPlane) (x : ℍ[ℚ, a, b]) : qmPeriodMap ι τ x = ((ι x).map (algebraMap ℝ ℂ)).mulVec ![(τ : ℂ), 1] := rfl def qmPeriodLattice (ι : ℍ[ℚ, a, b] →ₐ[ℚ] Matrix (Fin 2) (Fin 2) ℝ) (Λ : Submodule ℤ ℍ[ℚ, a, b]) (τ : UpperHalfPlane) : Submodule ℤ (Fin 2 → ℂ) := Λ.map (qmPeriodMap ι τ) theorem mem_qmPeriodLattice_iff (ι : ℍ[ℚ, a, b] →ₐ[ℚ] Matrix (Fin 2) (Fin 2) ℝ) (Λ : Submodule ℤ ℍ[ℚ, a, b]) (τ : UpperHalfPlane) (v : Fin 2 → ℂ) : v ∈ qmPeriodLattice ι Λ τ ↔ ∃ x ∈ Λ, qmPeriodMap ι τ x = v := Submodule.mem_map end QuaternionAlgebra end
Statements phrased using this module (79)
- Level-N points as a Λ-stable overlattice of index N²
CerednikDrinfeld.QM.FakeEllipticCurve.exists_submodule_forall_mem_iff_factorsThrough_lev_of_pointEquiv0 below · depth 27 - Isomorphism of level-N fake elliptic curves as lattice homothety
CerednikDrinfeld.QM.FakeEllipticCurve.iso_iff_exists_smul_latt_eq_and_smul_lattLev_eq_of_pointEquiv3 below · depth 27 - Fake elliptic curves near a period lie in one algebraic family
CerednikDrinfeld.QM.IsFineModuli.forall_exists_algebraicFamily_isPullback_smul_latt_eq_of_analytic4,810 below · depth 27 - Every τ in H is a quaternionic period
CerednikDrinfeld.QM.IsFineModuli.forall_exists_smul_latt_eq_qmPeriodLattice_of_isProper_of_analytic4,809 below · depth 27 - Analytic uniformisation of fake elliptic curves over ℂ
CerednikDrinfeld.QM.exists_latticeMap_pointEquiv_hom_iff_smul_le_analytic314 below · depth 27 - Level module attached to an Eichler order in a maximal order
QuaternionAlgebra.IsEichlerOrder.exists_levelModule37 below · depth 27 - Normalising a Λ-stable lattice pair as quaternionic period lattices
QuaternionAlgebra.IsEichlerOrder.exists_smul_eq_qmPeriodLattice_pair_of_forall_mulVec_mem60 below · depth 27 - Homothety of paired QM period lattices versus Fuchsian orbits
QuaternionAlgebra.IsEichlerOrder.exists_smul_qmPeriodLattice_pair_eq_iff_exists_fuchsianGroup_smul_eq9 below · depth 27 - Right R-stability versus level modules for quaternionic period lattices
QuaternionAlgebra.IsEichlerOrder.forall_mem_imp_mem_iff_exists_levelModule_qmPeriodLattice_eq31 below · depth 27 - Uniqueness of the level module of an Eichler order
QuaternionAlgebra.IsEichlerOrder.levelModule_unique18 below · depth 27 - Extra level ℓ read as a transversal sublattice of index ℓ²
CerednikDrinfeld.QM.FakeEllipticCurve.ExtraLevel.exists_submodule_forall_mem_iff_factorsThrough_transversal_of_pointEquiv0 below · depth 28 - Pairs over ℂ are isomorphic iff their lattice triples are homothetic
CerednikDrinfeld.QM.FakeEllipticCurve.WithExtraLevel.iso_iff_exists_smul_latt_eq_and_smul_lattLev_eq_and_smul_lattK_eq_of_pointEquiv4 below · depth 28 - Extra levels at ℓ and admissible sublattices of the period lattice
CerednikDrinfeld.QM.FakeEllipticCurve.exists_extraLevel_isLevelIsogeny_sublattice_lattLev_of_pointEquiv762 below · depth 28 - Period lattices of Atkin–Lehner quotients at level N
CerednikDrinfeld.QM.FakeEllipticCurve.exists_smul_latt_lattLev_atkinLehnerQuotient_of_pointEquiv15 below · depth 28 - Non-emptiness: some τ is a fake elliptic period
CerednikDrinfeld.QM.IsFineModuli.exists_exists_smul_latt_eq_qmPeriodLattice_of_analytic4,731 below · depth 28 - Local period chart near a point of the fine moduli curve
CerednikDrinfeld.QM.IsFineModuli.exists_isOpen_injOn_periodChart_of_analytic_of_isEichlerOrder166 below · depth 28 - Local algebraic charts for the quaternionic period map
CerednikDrinfeld.QM.IsFineModuli.forall_exists_algebraicChart_of_periodMap_of_analytic4,811 below · depth 28 - Local algebraic families of fake elliptic curves with extra level ℓ
CerednikDrinfeld.QM.IsFineModuli.forall_exists_algebraicFamily_withExtraLevel_isPullback_smul_latt_eq_of_analytic5,331 below · depth 28 - Properness makes the algebraic period locus closed
CerednikDrinfeld.QM.IsFineModuli.isClosed_setOf_exists_smul_latt_eq_qmPeriodLattice_of_isProper_of_analytic268 below · depth 28 - Openness of the uniformised locus in H
CerednikDrinfeld.QM.IsFineModuli.isOpen_setOf_exists_smul_latt_eq_qmPeriodLattice_of_analytic172 below · depth 28 - Two periods of a levelled lattice pair lie in one Fuchsian orbit
QuaternionAlgebra.IsEichlerOrder.exists_fuchsianGroup_smul_eq_of_smul_eq_qmPeriodLattice_of_forall_mem_imp_mem41 below · depth 28 - Norm-r elements of an Eichler order at a ramified prime
QuaternionAlgebra.IsEichlerOrder.exists_nrd_eq_and_forall_exists_isUnitOf_mul_eq_of_isIndefiniteRamifiedExactlyAt55 below · depth 28 - Transversal norm-ℓ elements of an Eichler order, up to norm-one units
QuaternionAlgebra.IsEichlerOrder.exists_nrd_eq_levelIdentity_and_forall_exists_isUnitOf_nrd_eq_one_mul_mul_iff_of_levelIdentity62 below · depth 28 - Γ-stability of uniformised periods with R-level structure
QuaternionAlgebra.IsEichlerOrder.exists_smul_eq_qmPeriodLattice_smul_and_forall_mem_imp_mem_of_mem_fuchsianGroup1 below · depth 28 - Atkin–Lehner unit and the level-N Hecke criterion
QuaternionAlgebra.IsEichlerOrder.exists_units_atkinLehner_qmPeriodLattice_levelModule_iff_exists_mem_levelHeckeUSet87 below · depth 28 - Norm-ℓ elements of an Eichler order and period sublattices
QuaternionAlgebra.IsEichlerOrder.forall_le_qmPeriodLattice_transversal_iff_exists_mem_nrd_eq61 below · depth 28 - Lattices with quaternionic multiplication are homothetic to period lattices
QuaternionAlgebra.IsMaximalOrder.exists_smul_eq_qmPeriodLattice_of_forall_mulVec_mem49 below · depth 28 - Endomorphisms of ℂ² commuting with an order are homotheties
QuaternionAlgebra.IsOrder.exists_eq_smul_of_forall_mulVec_comm1 below · depth 28 - Period lattice of an order is a full lattice in ℂ²
QuaternionAlgebra.IsOrder.qmPeriodMap_injective_and_exists_basis_qmPeriodLattice_eq_span2 below · depth 28 - Automorphy of quaternionic period lattices under ι(x)
QuaternionAlgebra.denom_smul_qmPeriodMap_smul_eq_and_denom_smul_qmPeriodLattice_smul_eq0 below · depth 28 - Homothetic quaternionic period lattices come from a unit
QuaternionAlgebra.exists_isUnitOf_smul_eq_of_smul_qmPeriodLattice_eq0 below · depth 28 - Pulling the level identity back along the period map
QuaternionAlgebra.forall_qmPeriodLattice_levelIdentity_iff_forall_levelIdentity0 below · depth 28 - Extra level at ℓ as the period lattice of Λ t
CerednikDrinfeld.QM.FakeEllipticCurve.ExtraLevel.factorsThrough_levK_symm_iff_exists_qmPeriodMap_mul_eq_of_forall_geomPoint15 below · depth 29 - Transversality of L₀ (m/ℓ)P against the level structure
CerednikDrinfeld.QM.FakeEllipticCurve.FullLevel.forall_factorsThrough_lev_imp_eq_one_of_smul_eq_qmPeriodMap_of_nrd_eq64 below · depth 29 - Extra level-ℓ structure from a transversal sublattice
CerednikDrinfeld.QM.FakeEllipticCurve.exists_extraLevel_forall_factorsThrough_iff_smul_mem_of_transversal_of_pointEquiv1 below · depth 29 - Full level-m structures give units of Λ/mΛ
CerednikDrinfeld.QM.FakeEllipticCurve.exists_mul_sub_one_eq_smul_of_fullLevel_of_smul_eq_qmPeriodMap0 below · depth 29 - Lattice of a level-ℓ isogeny quotient, with level lattice
CerednikDrinfeld.QM.FakeEllipticCurve.exists_smul_latt_lattLev_eq_of_isLevelIsogeny_of_pointEquiv0 below · depth 29 - Holomorphic lattice frame over an analytic chart of fine moduli
CerednikDrinfeld.QM.IsFineModuli.exists_holomorphic_latticeFrame_of_analytic_of_smooth_algebraicChart68 below · depth 29 - Local period chart on the fine moduli curve with full level
CerednikDrinfeld.QM.IsFineModuli.exists_isOpen_injOn_periodChart_fullLevel_of_analytic_of_isEichlerOrder165 below · depth 29 - Injectivity of τ on an analytic lattice-frame chart
CerednikDrinfeld.QM.IsFineModuli.injOn_periodFunction_of_latticeFrame_of_analytic5 below · depth 29 - Elements normalising an Eichler order normalise its Fuchsian group
CerednikDrinfeld.exists_gl_conj_fuchsianGroup_iff_of_forall_mem_iff_conj_mem2 below · depth 29 - Transversal index-ℓ² ideals come from norm-ℓ elements
QuaternionAlgebra.IsEichlerOrder.exists_mem_nrd_eq_forall_mem_iff_mul_of_relIndex_eq_sq_of_transversal56 below · depth 29 - Mod-ℓ unipotent element of Λ carrying Λ t to Λ t'
QuaternionAlgebra.IsEichlerOrder.exists_nrd_eq_one_add_and_forall_smul_mul_eq_and_forall_mul_mul_eq_of_levelIdentity19 below · depth 29 - Fuchsian translates of period data with Eichler level and generator
QuaternionAlgebra.IsEichlerOrder.exists_smul_eq_qmPeriodLattice_smul_and_smul_eq_qmPeriodMap_mul_of_mem_fuchsianGroup1 below · depth 29 - Level identity at ℓ ∣ N versus idelic Hecke membership of wtw⁻¹
QuaternionAlgebra.IsEichlerOrder.levelIdentity_iff_exists_mem_levelHeckeUSet_conj_of_dvd24 below · depth 29 - Level identity ℓ J' + Λ t = J't for ℓ ∤ N
QuaternionAlgebra.IsEichlerOrder.levelIdentity_of_not_dvd2 below · depth 29 - Holomorphic normalisation of a Λ-stable lattice frame in ℂ²
QuaternionAlgebra.IsMaximalOrder.exists_differentiableOn_smul_span_eq_qmPeriodLattice_of_latticeFrame0 below · depth 29 - Orienting quaternionic period lattices from the lower half-plane
QuaternionAlgebra.IsMaximalOrder.exists_forall_exists_mulVec_eq_iff_smul_mem_qmPeriodLattice_of_im_neg42 below · depth 29 - Lattices with quaternionic multiplication, maximal order case
QuaternionAlgebra.IsMaximalOrder.exists_im_ne_zero_forall_mem_smul_iff_of_forall_mulVec_mem45 below · depth 29 - Norm-r elements in a maximal order at a ramified prime
QuaternionAlgebra.IsMaximalOrder.exists_nrd_eq_and_forall_exists_isUnitOf_mul_eq_of_isIndefiniteRamifiedExactlyAt47 below · depth 29 - A left Λ-ideal of index ℓ² transversal to a level module
QuaternionAlgebra.IsMaximalOrder.exists_submodule_relIndex_eq_sq_and_transversal_of_levelModule17 below · depth 29 - Index of a right translate of a quaternion lattice is nrd²
QuaternionAlgebra.relIndex_span_mul_eq_sq_of_nrd_eq0 below · depth 29 - Propagating a period-lattice identity across a parameter set
QuaternionAlgebra.smul_eq_qmPeriodLattice_of_forall_mem_iff_of_smul_eq_qmPeriodMap0 below · depth 29 - Locally constant frame coordinates for action, level and generator
CerednikDrinfeld.QM.FakeEllipticCurve.WithFullLevel.exists_const_frameCoords_of_uniformization_family_of_smooth8 below · depth 30 - Jointly holomorphic uniformisation of a family of fake elliptic curves
CerednikDrinfeld.QM.FakeEllipticCurve.exists_differentiableOn_eval_comp_uniformization_family_of_smooth_of_analytic45 below · depth 30 - Holomorphic ℤ-basis for the lattices of a family
CerednikDrinfeld.QM.FakeEllipticCurve.exists_differentiableOn_latticeBasis_of_uniformization_family_of_smooth1 below · depth 30 - Holomorphic lattice frame over a smooth analytic chart
CerednikDrinfeld.QM.IsFineModuli.exists_holomorphic_latticeFrame_of_analytic_of_smooth_algebraicChart_noCoprime68 below · depth 30 - Injectivity of τ on an analytic period chart
CerednikDrinfeld.QM.IsFineModuli.injOn_periodFunction_of_latticeFrame_of_analytic_noCoprime5 below · depth 30 - Isomorphism of full-level fake elliptic curves from a homothety
CerednikDrinfeld.QM.WithFullLevel.iso_of_smul_latt_subset_of_level_iff_of_generator3 below · depth 30 - Period lattices of level-one fake elliptic curves over ℂ
CerednikDrinfeld.QM.exists_latticeMap_fakeEllipticCurve_complex_iso_iff_smul_eq_levelOne897 below · depth 30 - Homothety of period lattices from equal quaternionic periods
CerednikDrinfeld.QM.smul_latt_subset_and_level_iff_and_generator_of_periodFunction_eq_of_latticeFrame0 below · depth 30 - Diagonal idele in the level Hecke set
QuaternionAlgebra.IsEichlerOrder.exists_mem_levelHeckeUSet_coe_eq_tmul_iff3 below · depth 30 - Level identity at ℓ ∣ N via conjugation criterion
QuaternionAlgebra.IsEichlerOrder.levelIdentity_iff_not_conj_eq_and_not_conj_le_of_dvd22 below · depth 30 - Homothetic quaternionic period lattices and Fuchsian orbits
QuaternionAlgebra.IsMaximalOrder.exists_smul_qmPeriodLattice_eq_iff_exists_fuchsianGroup_smul_eq_of_level_one6 below · depth 30 - Hecke dictionary for quaternionic period lattices
QuaternionAlgebra.IsMaximalOrder.forall_le_qmPeriodLattice_iff_exists_mem_of_nrd_eq63 below · depth 30 - Constant frame coordinates for the full level-m generator
CerednikDrinfeld.QM.FakeEllipticCurve.WithFullLevel.exists_const_generator_frameCoords_of_uniformization_family_of_smooth2 below · depth 31 - Constant integer matrices for the Λ-action in a holomorphic frame
CerednikDrinfeld.QM.FakeEllipticCurve.WithFullLevel.exists_const_lambdaAction_frameCoords_of_uniformization_family_of_smooth2 below · depth 31 - Level-N points have locally constant frame coordinates
CerednikDrinfeld.QM.FakeEllipticCurve.WithFullLevel.exists_const_level_frameCoords_of_uniformization_family_of_smooth1 below · depth 31 - Extra levels match ι(Λ)-stable sublattices of the period lattice
CerednikDrinfeld.QM.FakeEllipticCurve.exists_extraLevel_isLevelIsogeny_sublattice_of_pointEquiv763 below · depth 31 - Rescaled fibrewise uniformisation, jointly holomorphic near the identity
CerednikDrinfeld.QM.FakeEllipticCurve.exists_isLocalHom_differentiableOn_uniformization_family_near_zero42 below · depth 31 - Period lattice of an Atkin–Lehner quotient at a ramified prime
CerednikDrinfeld.QM.FakeEllipticCurve.exists_smul_latt_atkinLehnerQuotient_of_pointEquiv15 below · depth 31 - Complex fake elliptic curves: isomorphism iff homothetic lattices
CerednikDrinfeld.QM.FakeEllipticCurve.iso_iff_exists_smul_latt_eq_of_pointEquiv0 below · depth 31 - Period lattices of level-one fake elliptic curves over ℂ
CerednikDrinfeld.QM.exists_latticeMap_pointEquiv_quotient_hom_iff_smul_le_levelOne315 below · depth 31 - Homothety of period lattices at equal τ
CerednikDrinfeld.QM.smul_latt_subset_and_level_iff_and_generator_of_periodFunction_eq_of_latticeFrame_noCoprime0 below · depth 31 - Transversality of a norm-ℓ element at ℓ ∣ N
QuaternionAlgebra.IsEichlerOrder.forall_mul_star_mem_imp_mem_iff_not_conj_eq_and_not_conj_le_of_dvd16 below · depth 31 - Level identity for a norm-ℓ element versus transversality
QuaternionAlgebra.IsEichlerOrder.levelIdentity_iff_forall_mul_star_mem_imp_mem8 below · depth 31 - Period lattice attached to an extra level at ℓ
CerednikDrinfeld.QM.FakeEllipticCurve.ExtraLevel.exists_submodule_forall_mem_iff_factorsThrough_of_pointEquiv5 below · depth 32 - Uniformising lattice of a level-ℓ isogeny quotient
CerednikDrinfeld.QM.FakeEllipticCurve.exists_smul_latt_eq_of_isLevelIsogeny_of_pointEquiv0 below · depth 32 - Counting Λ-stable sublattices of index ℓ² in a period lattice
QuaternionAlgebra.IsMaximalOrder.natCard_sublattice_qmPeriodLattice_eq_add_one19 below · depth 32