Definitions/Def_PDivisibleGroup_CartierDuality.lean
Cartier duality data and pairings for -divisible groups
Fix a commutative ring R and natural numbers p,h, and let G,G' be p-divisible groups over R of height h in the sense of the project's structure PDivisibleGroup: families of commutative Hopf algebras level v over R, cocommutative, finite and free as R-modules, with surjective bialgebra transition maps transition v : level (v+1) →ₐc[R] level v whose kernels are the p^v-torsion ideals and with \operatorname{rank}_R(\mathrm{level}\ v)=p^{vh}. A term of the structure CartierDuality G G' is a datum consisting of bialgebra isomorphisms e_v\colon G'.\mathrm{level}\ v \xrightarrow{\sim} \mathtt{CartierDual}\ R\ (G.\mathrm{level}\ v) for every v, together with the compatibility equiv_transition: for all v, all x in G'.\mathrm{level}(v+1) and all a in G.\mathrm{level}(v+1),
e_v(\mathrm{transition}_v\,x)(\mathrm{transition}_v\,a) = e_{v+1}(x)\big(\mathtt{nsmulAlgHom}\ R\ (G.\mathrm{level}(v+1))\ p\ (a)\big),
where nsmulAlgHom … p is the p-th convolution power of the identity, i.e. the comorphism of multiplication by p; elements of the Cartier dual are applied as R-linear functionals. Thus the transitions of G' are required to be dual to multiplication by p on G. The predicate IsCartierDual G G' asserts that such a datum exists.
The remaining declarations record the elementary consequences of such a datum: toDualEquiv v is the R-linear equivalence G'.\mathrm{level}\ v \simeq \operatorname{Hom}_R(G.\mathrm{level}\ v, R) obtained from e_v followed by the identification CartierDual.toDual, with its formulas for values and for the inverse; equiv_mul_apply expresses e_v(xy)(a) as the convolution, namely TensorProduct.dualDistrib applied to the tensor of the two functionals and to comul a; equiv_one_apply gives e_v(1)(a)=\varepsilon(a); and counit_eq_equiv_apply_one gives \varepsilon(x)=e_v(x)(1).
Finally, for a commutative R-algebra L, pair L v f ψ assigns to L-points f of G and \psi of G' at level v the element \sum_i f(b_i)\,\psi\big(e_v^{-1}(b_i^{\vee})\big) of L, where (b_i) is the basis of G.\mathrm{level}\ v produced by Module.Free.chooseBasis and b_i^{\vee} its coordinate functionals, the points being evaluated through their underlying R-algebra maps. The definition is tied to that particular choice of basis; independence of the choice, bimultiplicativity, perfectness and Galois equivariance are not part of the data.
Relation to Mathlib
Mathlib supplies bialgebras, Hopf algebras, Module.Dual and TensorProduct.dualDistrib, but no notion of p-divisible group or of the Cartier dual of a finite flat group scheme; PDivisibleGroup, CartierDual and the duality datum and pairing defined here are the project's own.
Where it is used
Together with the points and Tate module of a p-divisible group, these definitions provide the language in which duality statements for p-divisible groups are formulated in the project, the pairing on L-points being the level-v Cartier pairing.
References
- J. Tate, p-divisible groups, in: Proceedings of a Conference on Local Fields (Driebergen, 1966), Springer, 1967, 158–183, §§1.2, 2.3
- F. Oort, Commutative group schemes, Lecture Notes in Mathematics 15, Springer, 1966, Ch. I
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 69 lines
- 13 declarations
- used in the statements of 29 theorems and imported by 34 proofs
- imports 3 definition modules
Source file: Definitions/Def_PDivisibleGroup_CartierDuality.lean
Imported by
Declarations
- structure
PDivisibleGroup.CartierDuality - field
PDivisibleGroup.CartierDuality.equiv - field
PDivisibleGroup.CartierDuality.equiv_transition - field
PDivisibleGroup.CartierDuality.equiv - def
PDivisibleGroup.IsCartierDual - def
PDivisibleGroup.CartierDuality.toDualEquiv - theorem
PDivisibleGroup.CartierDuality.toDualEquiv_apply - theorem
PDivisibleGroup.CartierDuality.toDualEquiv_symm_apply - theorem
PDivisibleGroup.CartierDuality.equiv_mul_apply - theorem
PDivisibleGroup.CartierDuality.equiv_one_apply - theorem
PDivisibleGroup.CartierDuality.counit_eq_equiv_apply_one - def
PDivisibleGroup.CartierDuality.pair - theorem
PDivisibleGroup.CartierDuality.pair_def
Source
import Mathlib import Definitions.Def_PDivisibleGroup_Points import Definitions.Def_HopfAlgebra_CartierDual import Definitions.Def_HopfAlgebra_CartierDualInstances set_option autoImplicit false noncomputable section open Coalgebra Bialgebra WithConv namespace PDivisibleGroup variable {R : Type} [CommRing R] {p h : ℕ} structure CartierDuality (G G' : PDivisibleGroup R p h) : Type where equiv : ∀ v, G'.level v ≃ₐc[R] CartierDual R (G.level v) equiv_transition : ∀ (v : ℕ) (x : G'.level (v + 1)) (a : G.level (v + 1)), equiv v (G'.transition v x) (G.transition v a) = equiv (v + 1) x (PDivisibleGroup.Hopf.nsmulAlgHom R (G.level (v + 1)) p a) def IsCartierDual (G G' : PDivisibleGroup R p h) : Prop := Nonempty (CartierDuality G G') namespace CartierDuality variable {G G' : PDivisibleGroup R p h} (D : CartierDuality G G') def toDualEquiv (v : ℕ) : G'.level v ≃ₗ[R] Module.Dual R (G.level v) := (D.equiv v).toLinearEquiv.trans (CartierDual.toDual R (G.level v)) @[simp] theorem toDualEquiv_apply (v : ℕ) (x : G'.level v) (a : G.level v) : D.toDualEquiv v x a = D.equiv v x a := rfl theorem toDualEquiv_symm_apply (v : ℕ) (φ : Module.Dual R (G.level v)) : (D.toDualEquiv v).symm φ = (D.equiv v).symm (CartierDual.ofDual R (G.level v) φ) := rfl theorem equiv_mul_apply (v : ℕ) (x y : G'.level v) (a : G.level v) : D.equiv v (x * y) a = TensorProduct.dualDistrib R (G.level v) (G.level v) (CartierDual.toDual R _ (D.equiv v x) ⊗ₜ[R] CartierDual.toDual R _ (D.equiv v y)) (comul (R := R) a) := by rw [map_mul] exact CartierDual.mul_apply _ _ a theorem equiv_one_apply (v : ℕ) (a : G.level v) : D.equiv v 1 a = counit (R := R) a := by rw [map_one] rfl theorem counit_eq_equiv_apply_one (v : ℕ) (x : G'.level v) : counit (R := R) x = D.equiv v x 1 := by rw [← CartierDual.counit_apply (D.equiv v x)] exact (CoalgHomClass.counit_comp_apply (D.equiv v) x).symm variable (L : Type) [CommRing L] [Algebra R L] def pair (v : ℕ) (f : G.Point L v) (ψ : G'.Point L v) : L := ∑ i, Point.toAlgHom f (Module.Free.chooseBasis R (G.level v) i) * Point.toAlgHom ψ ((D.toDualEquiv v).symm ((Module.Free.chooseBasis R (G.level v)).coord i)) theorem pair_def (v : ℕ) (f : G.Point L v) (ψ : G'.Point L v) : D.pair L v f ψ = ∑ i, Point.toAlgHom f (Module.Free.chooseBasis R (G.level v) i) * Point.toAlgHom ψ ((D.toDualEquiv v).symm ((Module.Free.chooseBasis R (G.level v)).coord i)) := rfl end CartierDuality end PDivisibleGroup end
Statements phrased using this module (29)
- Annihilator of a saturated Galois-stable submodule under a Tate pairing
PDivisibleGroup.CartierDuality.exists_submodule_annihilator_stable_saturated_and_forall_mem_iff15 below · depth 24 - Galois-equivariant Tate module pairing from Cartier duality
PDivisibleGroup.CartierDuality.exists_tateModule_pairing_eq_pair1 below · depth 24 - Cartier duality of p-divisible groups is symmetric
PDivisibleGroup.CartierDuality.isCartierDual_symm0 below · depth 24 - Adjointness of Tate-module maps under Cartier pairings
PDivisibleGroup.CartierDuality.tateModule_pairing_adjoint_and_ker_iff_and_surjective_of_pair_comp_eq15 below · depth 24 - Cartier duality of a morphism: transitions and pairing adjointness
PDivisibleGroup.CartierDuality.transpose_comp_transition_eq_and_pair_comp_eq_pair_comp_transpose0 below · depth 24 - Existence of the Cartier dual p-divisible group
PDivisibleGroup.exists_isCartierDual6 below · depth 24 - Perfectness of the Cartier pairing on Tate modules
PDivisibleGroup.CartierDuality.bijective_tateModule_pairing_of_isAlgClosed13 below · depth 25 - Cartier transpose of Uₚ⟨ d₀⟩ is Frobenius (ordinary part)
ModularCurve.JHNeronObjectAtP.exists_units_forall_point_comp_cartierTranspose_U_comp_diamond_valuation_sub_pow_lt_one_of_ordinaryIdempotent_of_bridge1,358 below · depth 26 - Tate's period functionals: n invariant ℂₚ-functionals on the dual Tate module
PDivisibleGroup.CartierDuality.exists_linearIndependent_invariant_dual_padicComplex_tateModule_of_hasDimension_of_ringOfIntegers44 below · depth 26 - Cartier-transpose Frobenius twist forces A to act by a scalar
PDivisibleGroup.CartierDuality.moduleEnd_tateModuleRep_eq_smul_of_forall_point_comp_cartierTranspose_valuation_sub_pow_lt_one16 below · depth 26 - Cartier pairing equals 1 on étale-dual factors and formal points
PDivisibleGroup.CartierDuality.pair_eq_one_of_eq_comp_of_etale_cartierDual_of_forall_valuation_sub_counit_lt_one4 below · depth 26 - Formal points pair trivially at an ordinary level
PDivisibleGroup.CartierDuality.pair_eq_one_of_forall_valuation_sub_counit_lt_one_of_bijective_tensorProduct_isReduced38 below · depth 26 - Inertia acts on formal Tate vectors by the cyclotomic character
PDivisibleGroup.CartierDuality.tateModuleRep_eq_cyclotomicCharacter_smul_of_mem_inertiaSubgroupIn_of_forall_pair_eq_one17 below · depth 26 - Frobenius on the ε-part of a Tate module via Cartier duality
PDivisibleGroup.CartierDuality.tateModule_pairing_rep_eq_cyclotomicCharacter_smul_pairing_of_isFrobeniusAt_of_comp_transition_of_forall_comp_eq_of_forall_valuation_sub_pow_lt_one2 below · depth 26 - Dimensions of a p-divisible group and its Cartier dual sum to the height
PDivisibleGroup.add_eq_height_of_hasDimension_of_cartierDuality17 below · depth 26 - Verschiebung equals Uₚ⟨ d₀⟩ on the connected part
ModularCurve.JHNeronObjectAtP.exists_units_forall_qc_comp_baseChange_U_comp_diamond_comp_eq_qc_comp_verschiebung_of_ordinaryIdempotent_of_bridge1,315 below · depth 27 - Tate's relation dim G+dim G'=h under Cartier duality
PDivisibleGroup.CartierDuality.finrank_cotangent_one_add_finrank_cotangent_one_eq_height13 below · depth 27 - Cartier transpose as Frobenius on integral ε-supported points
PDivisibleGroup.CartierDuality.forall_point_valuation_cartierTranspose_sub_pow_lt_one_of_comp_eq_comp_verschiebung_of_bijective_tensorProduct_zmodp7 below · depth 27 - Cartier transpose is adjoint for the Cartier pairing on points
PDivisibleGroup.CartierDuality.pair_comp_eq_pair_comp_cartierTranspose0 below · depth 27 - Cartier duality of p-divisible groups is stable under base change
PDivisibleGroup.IsCartierDual.baseChange1 below · depth 27 - Frobenius, Uₚ and a diamond give [p] on ker abq₁
ModularCurve.JHNeronObjectAtP.exists_units_pullbackFst_abqFibre_comp_relFrobenius_comp_hecke_U_comp_hecke_dia_eq_comp_schemeNsmul121 below · depth 28 - Connected ordinary part of G[p^v] lies in ker(abq₁)
ModularCurve.JHNeronObjectAtP.mono_lift_and_exists_specMap_qc_comp_baseChange_comp_lift_eq_comp_pullbackFst_abqFibre_of_ordinaryIdempotent_of_bridge1,288 below · depth 28 - Triviality of all Cartier pairings forces a completed point to vanish
PDivisibleGroup.CartierDuality.cpoints_eq_zero_of_forall_pair_eq_one_of_forall_mem_range_iff36 below · depth 28 - Exponential of a p-divisible group and the Cartier pairing
PDivisibleGroup.CartierDuality.exists_addMonoidHom_tangentSpace_cpoints_pair_eq_sum_pow_of_ker_cotangentModuleProj_eq1 below · depth 28 - Tate's pairing kernel: torsion-free and p-divisible part
PDivisibleGroup.CartierDuality.nsmul_mem_and_eq_zero_and_exists_nsmul_eq_of_forall_pair_eq_one_of_isIntegral_iff28 below · depth 29 - Cartier pairing is perfect on K-points, K algebraically closed of characteristic 0
PDivisibleGroup.CartierDuality.eq_one_of_forall_pair_eq_one_and_exists_pair_eq_of_isAlgClosed12 below · depth 30 - Tate's map α from points to dual Tate module characters
PDivisibleGroup.CartierDuality.exists_points_tateModule_pairing_eq_pair1 below · depth 30 - Double annihilators and Tate-module lifting for Cartier-dual pairings
PDivisibleGroup.CartierDuality.mem_of_forall_pair_eq_one_and_exists_tateModule_forall_pair_eq_one13 below · depth 30 - Points reducing to the identity mod pⁱ pair trivially
PDivisibleGroup.CartierDuality.pair_pointMap_eq_one_of_forall_isNilpotent_of_isIntegral_iff11 below · depth 30