Definitions/Def_MvFormalGroup_CartierModuleHomothety.lean
Teichmüller families and homothety operators on Cartier modules
Fix a prime p and a commutative ring R. For a\in R, teichFam p a is the family of multivariate power series in the variables X_n, n\in\mathbb N, given by n\mapsto a^{p^n}X_n; equivalently, it is the pointwise scalar multiple of the family of variables by (a^{p^n})_n. Every member has zero constant coefficient, so substitution into the family is admissible, and the resulting substitution operator is Mathlib's rescaling \mathrm{rescale}(n\mapsto a^{p^n}). The associated family indexed by \mathrm{Fin}\,2\times\mathbb N produced by pairFam is (i,m)\mapsto a^{p^m}X_{(i,m)}, and isEndo_teichFam asserts IsEndo p (teichFam p a), whose components are substitutability, vanishing of constant coefficients, and a commutation relation with the family addFam p R; the verification rests on the fact that a monomial occurring in addFam p R n has weight p^n when X_{(i,m)} is given weight p^m. Further identities record \mathrm{teichFam}\,p\,1=X, \mathrm{teichFam}\,p\,0=0, the multiplicativity \mathrm{subst}(\mathrm{teichFam}\,p\,a)(\mathrm{teichFam}\,p\,b\,n)=\mathrm{teichFam}\,p\,(ab)\,n, and exchange relations with frobFam, verFam and curveFam (the last giving PowerSeries.rescale a).
For a commutative law \Phi of dimension d over R and a\in R, homothety a is the additive endomorphism of CartierModule p Φ obtained by precomposition with this endomorphism datum: on the underlying d-tuples of power series it substitutes a^{p^n} for X_n, i.e. applies \mathrm{rescale}(n\mapsto a^{p^n}) coordinatewise, so the coefficient at e is multiplied by \prod_n (a^{p^n})^{e(n)}. The accompanying results give \langle 1\rangle=\mathrm{id}, \langle 0\rangle f=0, \langle ab\rangle=\langle a\rangle\langle b\rangle and hence commutativity of the operators; the semilinearity relations \langle a\rangle V=V\langle a^p\rangle (over a base of characteristic p) and F\langle a\rangle=\langle a^p\rangle F; compatibility with multiplication by natural numbers, with map along a homomorphism \Phi\to\Phi' and with endAct; the effect on tangent vectors, \mathrm{tangent}(\langle a\rangle f)=a\cdot\mathrm{tangent}(f), and on curves, \mathrm{curve}(\langle a\rangle f)_j=\mathrm{PowerSeries.rescale}\,a\,(\mathrm{curve}(f)_j); and, for the additive law, \langle a\rangle(\mathrm{addLinear}\,p\,v)=\mathrm{addLinear}\,p\,(a\cdot v).
Relation to Mathlib
Mathlib has no multivariate formal group laws or Cartier modules; those notions are the project's own. Substitution of the Teichmüller family is identified with Mathlib's rescale on MvPowerSeries, and its effect on curves with PowerSeries.rescale.
Where it is used
Together with Verschiebung and Frobenius, the operators \langle a\rangle are the third family of operators on the Cartier module of a commutative formal group law, and the relations established here are those of the Cartier ring \mathrm{Cart}_p(R), so that Cartier modules may be treated as modules over it.
References
- M. Hazewinkel, Formal Groups and Applications, Pure and Applied Mathematics 78, Academic Press, 1978
- T. Zink, Cartiertheorie kommutativer formaler Gruppen, Teubner-Texte zur Mathematik 68, Teubner, 1984
- M. Lazard, Commutative Formal Groups, Lecture Notes in Mathematics 443, Springer, 1975
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 235 lines
- 31 declarations
- used in the statements of 139 theorems and imported by 150 proofs
- imports 2 definition modules
Source file: Definitions/Def_MvFormalGroup_CartierModuleHomothety.lean
Imported by
Def_CerednikDrinfeld_CartierGradedPieceDef_CerednikDrinfeld_CartierLMapFibreDef_CerednikDrinfeld_CartierModuleModelDef_CerednikDrinfeld_CartierStructureConstantsDef_CerednikDrinfeld_CritChartEndMatrixDef_CerednikDrinfeld_CriticalIndexChartDef_CerednikDrinfeld_ODModuleFrobeniusTwistDef_MvFormalGroup_CartierModuleBaseChangeDef_MvFormalGroup_CartierModuleIntVerschiebungDef_MvFormalGroup_CartierModuleWittActionDef_MvFormalGroup_WittPointFamilyDef_MvFormalGroup_WittPointFamilyInt
Declarations
- def
MvFormalGroup.WittLaw.teichFam - theorem
MvFormalGroup.WittLaw.teichFam_apply - theorem
MvFormalGroup.WittLaw.teichFam_eq_smul_X - theorem
MvFormalGroup.WittLaw.constantCoeff_teichFam - theorem
MvFormalGroup.WittLaw.hasSubst_teichFam - theorem
MvFormalGroup.WittLaw.subst_teichFam - theorem
MvFormalGroup.WittLaw.pairFam_teichFam - theorem
MvFormalGroup.WittLaw.isEndo_teichFam - theorem
MvFormalGroup.WittLaw.teichFam_one - theorem
MvFormalGroup.WittLaw.teichFam_zero - theorem
MvFormalGroup.WittLaw.subst_teichFam_teichFam - theorem
MvFormalGroup.WittLaw.subst_teichFam_frobFam - theorem
MvFormalGroup.WittLaw.subst_teichFam_verFam - theorem
MvFormalGroup.WittLaw.subst_curveFam_teichFam - def
MvFormalGroup.CartierModule.homothety - theorem
MvFormalGroup.CartierModule.homothety_eq_precomp - theorem
MvFormalGroup.CartierModule.toPowerSeries_homothety - theorem
MvFormalGroup.CartierModule.toPowerSeries_homothety_eq_rescale - theorem
MvFormalGroup.CartierModule.coeff_toPowerSeries_homothety - theorem
MvFormalGroup.CartierModule.homothety_one - theorem
MvFormalGroup.CartierModule.homothety_zero_left - theorem
MvFormalGroup.CartierModule.homothety_mul - theorem
MvFormalGroup.CartierModule.homothety_comm - theorem
MvFormalGroup.CartierModule.homothety_verschiebung - theorem
MvFormalGroup.CartierModule.frobenius_homothety - theorem
MvFormalGroup.CartierModule.homothety_nsmul - theorem
MvFormalGroup.CartierModule.map_homothety - theorem
MvFormalGroup.CartierModule.endAct_homothety - theorem
MvFormalGroup.CartierModule.tangent_homothety - theorem
MvFormalGroup.CartierModule.curve_homothety - theorem
MvFormalGroup.CartierModule.Examples.homothety_addLinear
Source
import Mathlib import Definitions.Def_MvFormalGroup_NegV2 import Definitions.Def_MvFormalGroup_CartierModule set_option autoImplicit false noncomputable section universe u namespace MvFormalGroup open MvPowerSeries WittLaw namespace WittLaw variable (p : ℕ) [hp : Fact p.Prime] {R : Type u} [CommRing R] def teichFam (a : R) : ℕ → MvPowerSeries ℕ R := fun n => (a ^ p ^ n) • X n variable {p} omit hp in @[simp] theorem teichFam_apply (a : R) (n : ℕ) : teichFam p a n = (a ^ p ^ n) • X n := rfl omit hp in theorem teichFam_eq_smul_X (a : R) : teichFam p a = (fun n => a ^ p ^ n) • (X : ℕ → MvPowerSeries ℕ R) := rfl omit hp in theorem constantCoeff_teichFam (a : R) (n : ℕ) : (teichFam p a n).constantCoeff = 0 := by rw [teichFam_apply, smul_eq_C_mul, map_mul, constantCoeff_X, mul_zero] omit hp in theorem hasSubst_teichFam (a : R) : HasSubst (teichFam p a) := HasSubst.smul_X _ omit hp in theorem subst_teichFam (a : R) (f : MvPowerSeries ℕ R) : subst (teichFam p a) f = rescale (fun n => a ^ p ^ n) f := (rescale_eq_subst _ f).symm omit hp in theorem pairFam_teichFam (a : R) : pairFam (teichFam p a) = (fun im : Fin 2 × ℕ => a ^ p ^ im.2) • X := by funext ⟨i, m⟩ rw [pairFam_apply, teichFam_apply, subst_smul (hasSubst_blk i), subst_X (hasSubst_blk i)] rfl theorem isEndo_teichFam (a : R) : IsEndo p (teichFam p a) := by refine ⟨hasSubst_teichFam a, constantCoeff_teichFam a, fun n => ?_⟩ rw [teichFam_apply, subst_smul (hasSubst_addFam p R), subst_X (hasSubst_addFam p R), pairFam_teichFam, ← rescale_eq_subst] ext e rw [coeff_smul, coeff_rescale] by_cases he : coeff e (addFam p R n) = 0 · rw [he, mul_zero, mul_zero] · congr 1 rw [← weight_eq_of_coeff_addFam_ne_zero p R he, Finsupp.weight_apply, Finsupp.prod, Finsupp.sum, ← Finset.prod_pow_eq_pow_sum] refine Finset.prod_congr rfl fun im _ => ?_ rw [← pow_mul, weight_apply, one_mul, smul_eq_mul, mul_comm] omit hp in theorem teichFam_one : teichFam p (1 : R) = X := by funext n rw [teichFam_apply, one_pow, one_smul] theorem teichFam_zero : teichFam p (0 : R) = 0 := by funext n rw [teichFam_apply, zero_pow (pow_ne_zero n hp.out.ne_zero), zero_smul, Pi.zero_apply] omit hp in theorem subst_teichFam_teichFam (a b : R) (n : ℕ) : subst (teichFam p a) (teichFam p b n) = teichFam p (a * b) n := by rw [teichFam_apply, subst_smul (hasSubst_teichFam a), subst_X (hasSubst_teichFam a), teichFam_apply, teichFam_apply, smul_smul, mul_pow, mul_comm] theorem subst_teichFam_frobFam (a : R) (n : ℕ) : subst (teichFam p a) (frobFam p R n) = subst (frobFam p R) (teichFam p (a ^ p) n) := by rw [frobFam_apply, subst_pow (hasSubst_teichFam _), subst_X (hasSubst_teichFam _), teichFam_apply, smul_pow, teichFam_apply, subst_smul hasSubst_frobFam, subst_X hasSubst_frobFam, frobFam_apply, ← pow_mul, ← pow_mul, mul_comm (p ^ n) p] omit hp in theorem subst_teichFam_verFam (a : R) (n : ℕ) : subst (teichFam p (a ^ p)) (verFam R n) = subst (verFam R) (teichFam p a n) := by rw [teichFam_apply, subst_smul hasSubst_verFam, subst_X hasSubst_verFam] cases n with | zero => rw [verFam_zero, ← coe_substAlgHom (hasSubst_teichFam _), map_zero, smul_zero] | succ n => rw [verFam_succ, subst_X (hasSubst_teichFam _), teichFam_apply, ← pow_mul, ← pow_succ'] omit hp in theorem subst_curveFam_teichFam (a : R) (n : ℕ) : subst (CartierModule.curveFam R) (teichFam p a n) = PowerSeries.rescale a (CartierModule.curveFam R n) := by rw [teichFam_apply, subst_smul CartierModule.hasSubst_curveFam, subst_X CartierModule.hasSubst_curveFam] cases n with | zero => show (a ^ p ^ 0) • (PowerSeries.X : PowerSeries R) = PowerSeries.rescale a PowerSeries.X rw [pow_zero, pow_one, PowerSeries.rescale_X, PowerSeries.smul_eq_C_mul] | succ n => show (a ^ p ^ (n + 1)) • (0 : PowerSeries R) = PowerSeries.rescale a 0 rw [smul_zero, map_zero] end WittLaw namespace CartierModule variable {p : ℕ} [hp : Fact p.Prime] {d d' : ℕ} {R : Type u} [CommRing R] variable {Φ : MvFormalGroup d R} {Φ' : MvFormalGroup d' R} def homothety [Φ.IsComm] (a : R) : CartierModule p Φ →+ CartierModule p Φ := precomp (WittLaw.isEndo_teichFam a) theorem homothety_eq_precomp [Φ.IsComm] (a : R) : (homothety a : CartierModule p Φ →+ CartierModule p Φ) = precomp (WittLaw.isEndo_teichFam a) := rfl @[simp] theorem toPowerSeries_homothety [Φ.IsComm] (a : R) (f : CartierModule p Φ) : (homothety a f).toPowerSeries = fun j => subst (WittLaw.teichFam p a) (f.toPowerSeries j) := rfl theorem toPowerSeries_homothety_eq_rescale [Φ.IsComm] (a : R) (f : CartierModule p Φ) (j : Fin d) : (homothety a f).toPowerSeries j = rescale (fun n => a ^ p ^ n) (f.toPowerSeries j) := WittLaw.subst_teichFam a _ theorem coeff_toPowerSeries_homothety [Φ.IsComm] (a : R) (f : CartierModule p Φ) (j : Fin d) (e : ℕ →₀ ℕ) : coeff e ((homothety a f).toPowerSeries j) = (e.prod fun n k => (a ^ p ^ n) ^ k) * coeff e (f.toPowerSeries j) := by rw [toPowerSeries_homothety_eq_rescale, coeff_rescale] theorem homothety_one [Φ.IsComm] (f : CartierModule p Φ) : homothety (1 : R) f = f := by apply CartierModule.ext funext j rw [toPowerSeries_homothety, WittLaw.teichFam_one] exact congrFun subst_self _ theorem homothety_zero_left [Φ.IsComm] (f : CartierModule p Φ) : homothety (0 : R) f = 0 := by apply CartierModule.ext funext j rw [toPowerSeries_homothety, WittLaw.teichFam_zero] exact subst_zero_of_constantCoeff_eq_zero (f.constantCoeff_eq_zero j) theorem homothety_mul [Φ.IsComm] (a b : R) (f : CartierModule p Φ) : homothety (a * b) f = homothety a (homothety b f) := by apply CartierModule.ext funext j show (precomp _ f).toPowerSeries j = (precomp _ (precomp _ f)).toPowerSeries j rw [precomp_precomp, toPowerSeries_precomp] show subst (WittLaw.teichFam p (a * b)) (f.toPowerSeries j) = _ congr 1 funext n rw [WittLaw.subst_teichFam_teichFam] theorem homothety_comm [Φ.IsComm] (a b : R) (f : CartierModule p Φ) : homothety a (homothety b f) = homothety b (homothety a f) := by rw [← homothety_mul, mul_comm, homothety_mul] theorem homothety_verschiebung [Φ.IsComm] [CharP R p] (a : R) (f : CartierModule p Φ) : homothety a (verschiebung f) = verschiebung (homothety (a ^ p) f) := by apply CartierModule.ext funext j show (precomp _ (precomp _ f)).toPowerSeries j = (precomp _ (precomp _ f)).toPowerSeries j rw [precomp_precomp, precomp_precomp] congr 1 funext n exact WittLaw.subst_teichFam_frobFam a n theorem frobenius_homothety [Φ.IsComm] (a : R) (f : CartierModule p Φ) : frobenius (homothety a f) = homothety (a ^ p) (frobenius f) := by apply CartierModule.ext funext j show (precomp _ (precomp _ f)).toPowerSeries j = (precomp _ (precomp _ f)).toPowerSeries j rw [precomp_precomp, precomp_precomp] congr 1 funext n exact (WittLaw.subst_teichFam_verFam a n).symm theorem homothety_nsmul [Φ.IsComm] (a : R) (n : ℕ) (f : CartierModule p Φ) : homothety a (n • f) = n • homothety a f := map_nsmul _ _ _ theorem map_homothety [Φ.IsComm] [Φ'.IsComm] (φ : Φ.Hom Φ') (a : R) (f : CartierModule p Φ) : map φ (homothety a f) = homothety a (map φ f) := map_precomp φ _ f theorem endAct_homothety [Φ.IsComm] (φ : MvFormalGroup.End Φ) (a : R) (f : CartierModule p Φ) : endAct φ (homothety a f) = homothety a (endAct φ f) := map_precomp φ _ f theorem tangent_homothety [Φ.IsComm] (a : R) (f : CartierModule p Φ) : tangent (homothety a f) = a • tangent f := by funext j rw [tangent_apply, coeff_toPowerSeries_homothety, Pi.smul_apply, tangent_apply, smul_eq_mul, Finsupp.prod_single_index (by simp), pow_zero, pow_one, pow_one] theorem curve_homothety [Φ.IsComm] (a : R) (f : CartierModule p Φ) (j : Fin d) : curve (homothety a f) j = PowerSeries.rescale a (curve f j) := by rw [curve_apply, toPowerSeries_homothety, curve_apply, subst_comp_subst_apply (WittLaw.hasSubst_teichFam a) hasSubst_curveFam, PowerSeries.rescale_eq, rescale_eq_subst, subst_comp_subst_apply hasSubst_curveFam (HasSubst.smul_X _)] congr 1 funext n rw [WittLaw.subst_curveFam_teichFam, PowerSeries.rescale_eq, rescale_eq_subst] namespace Examples theorem homothety_addLinear (a : R) (v : Fin d → R) : homothety a (addLinear p v) = addLinear p (a • v) := by apply CartierModule.ext funext i rw [toPowerSeries_homothety, toPowerSeries_addLinear] show subst (WittLaw.teichFam p a) ((addLinear p v).toPowerSeries i) = _ rw [toPowerSeries_addLinear, subst_smul (WittLaw.hasSubst_teichFam a), subst_X (WittLaw.hasSubst_teichFam a), WittLaw.teichFam_apply, pow_zero, pow_one, smul_smul, Pi.smul_apply, smul_eq_mul, mul_comm] end Examples end CartierModule end MvFormalGroup end
Statements phrased using this module (139)
- ℤ/2-grading of the Cartier module of a formal mathcal O_D-module
CerednikDrinfeld.FormalODModule.isCompl_gradedPiece_zero_one_of_isCompl_lieZero_lieOne7 below · depth 30 - Cartier modules of special formal mathcal O_D-modules are isogenous
CerednikDrinfeld.SpecialFormalODModule.exists_addMonoidHom_cartierModule_injective_of_isAlgClosed35 below · depth 30 - Fullness of the Cartier module functor over a perfect field
MvFormalGroup.CartierModule.exists_hom_map_eq_of_perfectRing10 below · depth 30 - Degree formula: colength of the Cartier module of an isogeny
MvFormalGroup.CartierModule.length_quotient_range_mapLinear_eq_of_finrank_eq_pow22 below · depth 30 - Rank-two lattice with Pi = V in M₀
CerednikDrinfeld.SpecialFormalODModule.exists_fin_two_endAct_varpiEnd_eq_verschiebung_of_isAlgClosed34 below · depth 31 - Unique finite V-expansion along a tangent basis
MvFormalGroup.CartierModule.existsUnique_eq_sum_verschiebung_homothety_add2 below · depth 31 - Approximate exactness of the Cartier presentation map
MvFormalGroup.CartierModule.exists_forall_le_order_coeff_sub_of_forall_le_order_presPi1 below · depth 31 - Cokernel of π_* on Cartier modules has rank rank dρ
MvFormalGroup.CartierModule.nonempty_basis_quotient_span_range_map_of_comp_eq_X_pow7 below · depth 31 - Existence of a canonical L-map for formal mathcal O_D-modules
CerednikDrinfeld.FormalODModule.exists_isCanonicalLMap_toGradedCartierModuleData73 below · depth 32 - Homogeneous V-basis for a special formal mathcal O_D-module with free Lie lines
CerednikDrinfeld.FormalODModule.exists_isHomogeneousVBasis_of_isSpecial_of_free8 below · depth 32 - Splitting of the Cartier module into graded pieces 0 and 1
CerednikDrinfeld.FormalODModule.isCompl_gradedPiece_zero_one_of_isNilpotent5 below · depth 32 - Graded pieces of a special formal mathcal O_D-module: free of rank 2
CerednikDrinfeld.SpecialFormalODModule.exists_fin_two_forall_mem_gradedPiece_existsUnique_eq_sum_smul31 below · depth 32 - Cartier relation points lie in the kernel of Pi_f
MvFormalGroup.CartierModule.presPi_verPt_sub_sum_teichPt_frobPt_eq_presPi_frobPt_iterate0 below · depth 32 - Isomorphisms of formal mathcal O_D-modules induce graded Cartier isomorphisms
CerednikDrinfeld.FormalODModule.Hom.bijective_map_and_forall_map_eq_of_isIso0 below · depth 33 - Frobenius-fixed scalars act through W(j)∘θ on Cartier modules
CerednikDrinfeld.FormalODModule.endAct_actEnd_eq_map_smul_of_frobenius_eq_of_isNilpotent3 below · depth 33 - Structure constants of a homogeneous V-basis, with a₀₀a₀₁=p
CerednikDrinfeld.FormalODModule.exists_hasStructureConstants_mul_eq_of_isHomogeneousVBasis18 below · depth 33 - Formal mathcal O_D-modules lift to the universal p-torsion-free base
CerednikDrinfeld.FormalODModule.exists_liftRing_isHomogeneousVBasis_hasStructureConstants_liftConstants_and_isIso_of_isHausdorff59 below · depth 33 - Base change of the graded Cartier datum of X
CerednikDrinfeld.FormalODModule.isBaseChangeAlong_toGradedCartierModuleData_baseChange18 below · depth 33 - Homogeneous V-basis splits the Cartier module into graded pieces
CerednikDrinfeld.FormalODModule.isCompl_gradedPiece_zero_one_of_isHomogeneousVBasis21 below · depth 33 - Homogeneous V-basis makes the graded Cartier datum special
CerednikDrinfeld.FormalODModule.isSpecialCartierModule_toGradedCartierModuleData19 below · depth 33 - Frobenius-fixed W(k)-basis at a critical index
CerednikDrinfeld.SpecialFormalODModule.exists_fin_two_mem_invariants_forall_existsUnique_eq_sum_smul_of_isCritical34 below · depth 33 - Each index critical or Pi-bijective over a field
CerednikDrinfeld.SpecialFormalODModule.isCritical_or_isPiBijective_of_field9 below · depth 33 - Freeness of the Cartier module of a height-h formal group
MvFormalGroup.CartierModule.nonempty_basis_of_finrank_eq_pow29 below · depth 33 - Tangent vectors of a homogeneous V-basis grade LieX
CerednikDrinfeld.FormalODModule.IsHomogeneousVBasis.tangent_mem_and_existsUnique_smul_of_isNilpotent0 below · depth 34 - Matching homogeneous V-bases give an isomorphism of formal mathcal O_D-modules
CerednikDrinfeld.FormalODModule.exists_hom_isIso_forall_map_eq_of_hasStructureConstants37 below · depth 34 - Prescribed structure constants are realised by a formal mathcal O_D-module
CerednikDrinfeld.FormalODModule.exists_isHomogeneousVBasis_and_hasStructureConstants_of_mul_eq31 below · depth 34 - Lifting a formal mathcal O_D-module by lifting its structure constants
CerednikDrinfeld.FormalODModule.exists_isHomogeneousVBasis_hasStructureConstants_and_isIso_map_of_forall_apply_eq59 below · depth 34 - Zariski-local homogeneous V-bases for special formal 𝒪_D-modules
CerednikDrinfeld.FormalODModule.exists_isHomogeneousVBasis_map_of_isSpecial_of_isNilpotent29 below · depth 34 - Transport of homogeneous V-bases and structure constants along an isomorphism
CerednikDrinfeld.FormalODModule.isHomogeneousVBasis_map_and_hasStructureConstants_map_of_hom_of_isIso0 below · depth 34 - Abstract homogeneous V-basis is a law-level V-basis
CerednikDrinfeld.FormalODModule.isHomogeneousVBasis_of_toGradedCartierModuleData_of_algebra_padicInt20 below · depth 34 - Base change of the graded pieces of Lie
CerednikDrinfeld.FormalODModule.lieZero_lieOne_map_eq_span_image0 below · depth 34 - Order-zero structure constants give the tangent action of varpi
CerednikDrinfeld.FormalODModule.linearPart_varpi_mulVec_tangent_eq_smul_of_hasStructureConstants0 below · depth 34 - Frobenius twist of the labelling: N, pieces, η, canonicity
CerednikDrinfeld.FormalODModule.nMap_id_bijective_and_nPiece_and_eta_and_isCanonicalLMap_comp_frobenius1 below · depth 34 - Classes modulo VM have equal tangent vectors
CerednikDrinfeld.FormalODModule.tangent_eq_of_mkQ_eq0 below · depth 34 - Tangent map sends Cartier graded pieces into Lie pieces
CerednikDrinfeld.FormalODModule.tangent_mem_lieZero_and_lieOne_of_mem_gradedPiece_of_isNilpotent0 below · depth 34 - Every special graded Cartier datum comes from a formal 𝒪_D-module
CerednikDrinfeld.GradedCartierModuleData.exists_formalODModule_bijective_of_isSpecialCartierModule_of_torsionFree51 below · depth 34 - First-order obstruction to structure constants at a smooth point
CerednikDrinfeld.SpecialFormalODModule.exists_forall_not_hasStructureConstants_add_smul_eps_of_not_and19 below · depth 34 - Critical index, mathbb Zₚ-basis and order embedding of End_{mathcal O_D}Φ
CerednikDrinfeld.SpecialFormalODModule.exists_isCritical_and_exists_basis_injective_endMatrixQ_and_exists_pow_smul_of_isAlgClosed61 below · depth 34 - Faithfulness of the Cartier module functor over ℤₚ-algebras
MvFormalGroup.CartierModule.eq_of_forall_map_eq_of_algebra_padicInt7 below · depth 34 - Unique finite V-expansion along a tangent basis
MvFormalGroup.CartierModule.existsUnique_eq_sum_verschiebungInt_iterate_homothety_add17 below · depth 34 - Cartier module modulo p is free of rank h
MvFormalGroup.CartierModule.nonempty_basis_quotient_smul_top_of_finrank_eq_pow25 below · depth 34 - V-reducedness of the Cartier module over a ℤₚ-algebra
MvFormalGroup.CartierModule.tangent_eq_zero_iff_exists_verschiebungInt_eq15 below · depth 34 - Invariant frame yields ℤₚ-basis and injective endomorphism matrix
CerednikDrinfeld.FormalODModule.CritChart.exists_basis_coe_eq_and_injective_endMatrix_of_forall_existsUnique_of_isCompl9 below · depth 35 - Graded pieces are preserved by 𝒪_D-linear homomorphisms
CerednikDrinfeld.FormalODModule.IsODHom.map_mem_gradedPiece0 below · depth 35 - Equal Pi-structure constants force an isomorphism of Cartier modules
CerednikDrinfeld.FormalODModule.exists_addMonoidHom_bijective_map_eq_of_hasStructureConstants28 below · depth 35 - Digit shape of a homogeneous V-basis over k[ε]
CerednikDrinfeld.FormalODModule.exists_eq_sum_verschiebungInt_iterate_homothety_baseChange_of_baseChangeEq_eq11 below · depth 35 - Local freeness of the Lie eigenlines of a special formal mathcal O_D-module
CerednikDrinfeld.FormalODModule.exists_free_lieZero_map_and_free_lieOne_map_of_isSpecial1 below · depth 35 - Frobenius lands in VM when a_{0,i_0}=0
CerednikDrinfeld.FormalODModule.exists_frobenius_eq_verschiebungInt_of_hasStructureConstants_of_apply_zero_eq_zero0 below · depth 35 - Cartier-module isomorphisms come from formal mathcal O_D-module isomorphisms
CerednikDrinfeld.FormalODModule.exists_hom_isIso_forall_map_eq_of_bijective28 below · depth 35 - Universal formal mathcal O_D-module with homogeneous V-basis
CerednikDrinfeld.FormalODModule.exists_isHomogeneousVBasis_and_hasStructureConstants_liftVar30 below · depth 35 - Existence of a homogeneous V-basis for special formal 𝒪_D-modules
CerednikDrinfeld.FormalODModule.exists_isHomogeneousVBasis_of_isSpecial_of_free_of_isNilpotent25 below · depth 35 - First-order structure constants of a reshaped V-basis over k[ε]
CerednikDrinfeld.FormalODModule.hasStructureConstants_dualNumber_apply_eq_of_eq_sum_verschiebungInt_iterate_homothety3 below · depth 35 - Canonicity of L-maps under the σ-shift of the grading
CerednikDrinfeld.FormalODModule.isCanonicalLMap_iff_isCanonicalLMap_comp_of_comp_frobenius0 below · depth 35 - Homogeneous V-basis implies the formal mathcal O_D-module is special
CerednikDrinfeld.FormalODModule.isSpecial_of_isHomogeneousVBasis0 below · depth 35 - Exactly one vanishing order-zero structure constant at a smooth point
CerednikDrinfeld.SpecialFormalODModule.exists_apply_zero_eq_zero_and_ne_zero_of_not_and1 below · depth 35 - Height equals dimension plus codimension, Cartier module form
MvFormalGroup.CartierModule.exists_add_eq_and_nonempty_basis_quotient_span_frobenius_of_finrank_eq_pow24 below · depth 35 - Frobenius image in M/pM is free of rank d
MvFormalGroup.CartierModule.nonempty_basis_span_frobenius_of_finite_quotient7 below · depth 35 - Cartier module over a ℤₚ-algebra is reduced
MvFormalGroup.CartierModule.verschiebungInt_injective_and_tangent_surjective_and_ker_and_complete_of_algebra_padicInt19 below · depth 35 - Universal digits forcing the relation p fᵢ=[p]fᵢ+sum_k V^k(d_{k,i}f)
CerednikDrinfeld.CartierLift.exists_digits_forall_smul_eq_teichmuller_smul_add_sum_verschiebungInt3 below · depth 36 - Graded finite V-adic expansion in a homogeneous V-basis
CerednikDrinfeld.FormalODModule.existsUnique_eq_sum_verschiebung_iterate_homothety_add_of_mem_gradedPiece9 below · depth 36 - Universal structure constants for Frobenius in a homogeneous V-basis
CerednikDrinfeld.FormalODModule.exists_forall_hasStructureConstants_frobenius_eq_sum4 below · depth 36 - Cartier modules: maps determined by a V-basis
MvFormalGroup.CartierModule.existsUnique_addMonoidHom_apply_eq_of_frobenius_expansion25 below · depth 36 - Unique finite V-adic expansion in characteristic p
MvFormalGroup.CartierModule.existsUnique_eq_sum_verschiebungInt_iterate_homothety_add_of_charP2 below · depth 36 - Cartier module maps commuting with F, V, ⟨ a⟩ are induced
MvFormalGroup.CartierModule.exists_hom_forall_map_eq_of_algebra_padicInt22 below · depth 36 - Cartier presentation: a homomorphism matching prescribed curves
MvFormalGroup.CartierModule.exists_hom_forall_map_eq_of_forall_frobenius_eq_sum_verschiebungInt_iterate_smul3 below · depth 36 - Graded Frobenius expansion yields a ℤ_{p²}-action on Φ
MvFormalGroup.CartierModule.exists_zp2Action_of_graded_frobenius_expansion9 below · depth 36 - Cokernel of a degree p^e isogeny on Cartier modules
MvFormalGroup.CartierModule.nonempty_basis_quotient_span_range_map_of_finrank_eq_pow22 below · depth 36 - The varpi-relation passes to varpi f, and varpi g ≡ p f
MvFormalGroup.CartierModule.varpiTuple_rel_and_sum_eq_of_rel0 below · depth 36 - Arbitrary structure constants arise from a Cartier-module V-basis
MvFormalGroup.exists_cartierModule_vBasis_of_frobenius_expansion13 below · depth 36 - Normalising tangents of a V-basis by coordinate change
MvFormalGroup.exists_hom_comp_eq_id_tangent_map_eq_of_isUnit_det0 below · depth 36 - Cartier-module criterion for isomorphism of rigidified formal mathcal O_D-modules
CerednikDrinfeld.SpecialFormal.Rigidified.isIsomorphic_of_bijective_cartierModule_of_map_nsmul_eq12 below · depth 37 - Cartier presentation: relations to every order over arbitrary base
MvFormalGroup.CartierModule.exists_forall_le_order_coeff_sub_and_frobIntPt_iterate_of_forall_le_order_presPi1 below · depth 37 - Homomorphism of formal groups from matching V-adic expansions
MvFormalGroup.CartierModule.exists_hom_forall_map_eq_of_forall_frobenius_eq_sum_verschiebungInt_iterate_homothety_add4 below · depth 37 - Universal Teichmüller-digit normal form in Cartier modules
MvFormalGroup.CartierModule.exists_sum_verschiebungInt_iterate_smul_eq_sum_homothety_teichmuellerDigit_add0 below · depth 37 - Twisting a graded F-expansion by Frobenius-exchanged Witt scalars
MvFormalGroup.CartierModule.frobenius_smul_eq_of_graded_frobenius_expansion_of_frobenius_eq0 below · depth 37 - Base change of a V-basis with structure constants
MvFormalGroup.CartierModule.isUnit_det_tangent_and_frobenius_expansion_baseChange0 below · depth 37 - Universal p-typical law with variables as structure constants
MvFormalGroup.exists_cartierModule_vBasis_mvPolynomial_X12 below · depth 37 - Critical index criterion on the Lie algebra for special formal mathcal O_D-modules
CerednikDrinfeld.FormalODModule.CritChart.isCritical_iff_le_ker_lieVarpi_of_isSpecial11 below · depth 38 - Critical index and its invariants under algebraically closed base change
CerednikDrinfeld.FormalODModule.CritChart.isCritical_map_and_surjOn_baseChange_invariants_of_isAlgClosed44 below · depth 38 - Homogeneous V-basis for special formal mathcal O_D-modules over a field
CerednikDrinfeld.FormalODModule.exists_isHomogeneousVBasis_of_isSpecial_field9 below · depth 38 - Tangent line of η_{i_0} over κ[ε] and its period equation
CerednikDrinfeld.FormalODModule.exists_tangent_eq_smul_and_forall_fst_snd_eq_of_mem_etaPiece_of_hasStructureConstants_dualNumber32 below · depth 38 - Homomorphisms from X.F determined on a homogeneous V-basis
CerednikDrinfeld.FormalODModule.hom_eq_of_forall_map_apply_eq_of_isHomogeneousVBasis9 below · depth 38 - Tangent variation on η_{i_0} is no rescaling outside windows
CerednikDrinfeld.FormalODModule.not_exists_forall_period_variation_eq_mul_of_mem_etaPiece_of_hasStructureConstants_dualNumber159 below · depth 38 - First-order versality of a structure-constant line at a smooth point
CerednikDrinfeld.SpecialFormalODModule.exists_isHomogeneousVBasis_hasStructureConstants_add_mul_smul_eps_of_forall_not_hasStructureConstants_of_not_and125 below · depth 38 - Unrealisable first-order variation of three structure constants
CerednikDrinfeld.SpecialFormalODModule.forall_not_hasStructureConstants_add_ite_smul_eps_of_forall_ne_add_smul17 below · depth 38 - Presentation map kills Cartier relation points up to remainder
MvFormalGroup.CartierModule.presPi_verPt_sub_sum_wittSMulPt_frobIntPt_eq_presPi_frobIntPt_iterate0 below · depth 38 - V-basis with variable structure constants from a functional-equation logarithm
MvFormalGroup.exists_cartierModule_vBasis_mvPolynomial_X_of_log7 below · depth 38 - Commutative law with functional-equation logarithm over ℚₚ[V]
MvFormalGroup.exists_isComm_log_mvPolynomial_padic1 below · depth 38 - Functional-equation integrality for the universal p-typical law
MvFormalGroup.exists_map_padicInt_eq_of_log0 below · depth 38 - Commutativity of a formal group law descends along injective base change
MvFormalGroup.isComm_of_isComm_map_of_injective0 below · depth 38 - Digit relations for a Pi=V invariant over dual numbers
CerednikDrinfeld.FormalODModule.exists_digits_tangent_eq_and_fst_snd_eq_of_varpiEnd_eq_verschiebungInt_of_hasStructureConstants_dualNumber25 below · depth 39 - Two η_{i_0}-elements with 𝔽ₚ-independent tangent parts over κ[ε]
CerednikDrinfeld.FormalODModule.exists_mem_etaPiece_tangent_eq_smul_forall_dvd_of_isAlgClosed_dualNumber154 below · depth 39 - Descent of a Cartier element with ghost logarithm
MvFormalGroup.CartierModule.exists_baseChange_eq_of_coeff_subst_eq_ghost_of_functionalEquation1 below · depth 39 - Injectivity of Verschiebung when p is nilpotent
MvFormalGroup.CartierModule.verschiebungInt_injective_of_isNilpotent0 below · depth 39 - Ghost read-out of Verschiebung, Frobenius and Teichmüller substitutions
MvFormalGroup.WittLaw.coeff_subst_verFam_frobPolyFam_teichFam_of_coeff_eq_ghost0 below · depth 39 - Special formal mathcal O_D-module of height 4 over the edge chart
CerednikDrinfeld.FormalODModule.exists_isHomogeneousVBasis_hasStructureConstants_edgeRingConstants_isSpecial_hasHeight_of_isAlgClosed101 below · depth 40 - Two η-elements at a critical index with 𝔽ₚ-independent tangents
CerednikDrinfeld.FormalODModule.exists_nMk_mem_etaPiece_tangent_eq_smul_forall_dvd_of_isAlgClosed66 below · depth 40 - Explicit height-4 edge isogeny between special formal mathcal O_D-modules
CerednikDrinfeld.FormalODModule.exists_hom_map_eq_sub_verschiebungInt_and_isIsogenyOfHeight_of_hasStructureConstants_edgeConstants64 below · depth 41 - Normalised node isogeny onto the edge family's node fibre
CerednikDrinfeld.FormalODModule.exists_isIsogenyOfHeight_map_node_rigidNum_single_eq199 below · depth 41 - Cartier quadruples at geometric points of the edge family
CerednikDrinfeld.FormalODModule.forall_isCartierQuadruple_map_line_eq_of_rigidNum_single_eq_of_edge_isogeny346 below · depth 41 - Height four from the edge structure constants
CerednikDrinfeld.FormalODModule.hasHeight_four_of_hasStructureConstants_edgeRingConstants_of_isAlgClosed92 below · depth 41 - Base change of Cartier modules along a surjection is surjective
MvFormalGroup.CartierModule.baseChange_surjective_of_surjective18 below · depth 41 - Closed Witt form of the edge structure constants
CerednikDrinfeld.FormalODModule.endAct_varpiEnd_eq_teichmuller_sub_smul_add_verschiebungInt_of_hasStructureConstants_edgeConstants4 below · depth 42 - Edge structure constants force nilpotent coordinates modulo [p]
CerednikDrinfeld.FormalODModule.exists_X_pow_mem_span_act_of_hasStructureConstants_edgeConstants48 below · depth 42 - Explicit homomorphism of special formal modules from Witt edge relations
CerednikDrinfeld.FormalODModule.exists_hom_map_eq_sub_verschiebungInt_of_endAct_varpiEnd_eq_teichmuller33 below · depth 42 - Cartier quadruple of the edge family at a node point
CerednikDrinfeld.FormalODModule.exists_isCartierQuadruple_map_line_eq_of_edge_isogeny_of_apply_xi_eq_zero_of_apply_eta_eq_zero331 below · depth 42 - Geometric fibre of the edge family on the η-branch
CerednikDrinfeld.FormalODModule.exists_isCartierQuadruple_map_line_eq_of_edge_isogeny_of_apply_xi_eq_zero_of_apply_eta_ne_zero319 below · depth 42 - Cartier quadruple and Deligne lines at a point with y(ξ)≠ 0
CerednikDrinfeld.FormalODModule.exists_isCartierQuadruple_map_line_eq_of_edge_isogeny_of_apply_xi_ne_zero320 below · depth 42 - Degree p⁴ for [p] on the edge-family formal 𝒪_D-module
CerednikDrinfeld.FormalODModule.finrank_kerAlgebra_map_act_eq_pow_four_of_hasStructureConstants_edgeRingConstants_of_isAlgClosed90 below · depth 42 - Explicit edge homomorphism is an isogeny of height 4
CerednikDrinfeld.FormalODModule.isIsogenyOfHeight_four_of_map_eq_sub_verschiebungInt_edgeRingCharP61 below · depth 42 - Node determinant det A = u p^{2m} for rigidified data
CerednikDrinfeld.SpecialFormal.Rigidified.exists_det_eq_mul_pow_of_rigidNum_eq_sum_smul_map_node140 below · depth 42 - Integral p-adic matrix for the rigidification numerator at a node
CerednikDrinfeld.SpecialFormal.Rigidified.exists_rigidNum_eq_sum_smul_of_isIsogenyOfHeight_map_node123 below · depth 42 - Height and rigidification numerator under composition with a central endomorphism
CerednikDrinfeld.SpecialFormal.Rigidified.isIsogenyOfHeight_comp_and_rigidNum_comp_eq_rigidNum_mulVec_of_centralizer22 below · depth 42 - Node witnesses: mathcal O_D-linearity and graded reductions
CerednikDrinfeld.SpecialFormal.Rigidified.isODHom_and_isGradedSbar_and_isGradedPhiS_map_node6 below · depth 42 - Nilpotent coordinates on X[p] for a pure edge branch
CerednikDrinfeld.FormalODModule.exists_X_pow_mem_span_act_of_hasStructureConstants_edgeConstants_zero47 below · depth 43 - Edge-family Cartier module is free of rank 4 on γ, Vγ
CerednikDrinfeld.FormalODModule.exists_basis_cartierModule_eq_of_hasStructureConstants_edgeConstants25 below · depth 43 - Dual edge homomorphism ρᵈagger: X→ Y on Cartier modules
CerednikDrinfeld.FormalODModule.exists_hom_map_eq_add_verschiebungInt_of_endAct_varpiEnd_eq_teichmuller34 below · depth 43 - Transporting homogeneous V-bases with Pi = V
CerednikDrinfeld.FormalODModule.exists_hom_map_eq_of_endAct_varpiEnd_eq_verschiebungInt33 below · depth 43 - Node case: Cartier quadruple with node Deligne lines
CerednikDrinfeld.FormalODModule.forall_isCartierQuadruple_map_node_line_eq_of_rigidNum_single_eq309 below · depth 43 - Edge structure constants force height four
CerednikDrinfeld.FormalODModule.hasHeight_four_of_hasStructureConstants_edgeConstants_of_perfectRing89 below · depth 43 - Stalk kernels at an η-branch point of the edge family
CerednikDrinfeld.FormalODModule.ker_eq_span_of_lattice_eq_of_isCartierQuadruple_map_edge_of_apply_xi_eq_zero_of_apply_eta_ne_zero120 below · depth 43 - Kernels of u₀ and u₁ at a ξ-point
CerednikDrinfeld.FormalODModule.ker_eq_span_of_lattice_eq_of_isCartierQuadruple_map_edge_of_apply_xi_ne_zero121 below · depth 43 - η-branch: both Drinfeld lattices equal p⁻¹ diag(p,1) ℤₚ²
CerednikDrinfeld.FormalODModule.lattice_eq_of_isCartierQuadruple_map_edge_of_apply_xi_eq_zero_of_apply_eta_ne_zero89 below · depth 43 - Lattices of a Cartier quadruple at a ξ-point
CerednikDrinfeld.FormalODModule.lattice_eq_of_isCartierQuadruple_map_edge_of_apply_xi_ne_zero90 below · depth 43 - Admissibility of a composed rigidification over the edge-chart ring
CerednikDrinfeld.SpecialFormal.Rigidified.isAdmissible_mk_edgeRingCharP_comp_of_isIsogenyOfHeight23 below · depth 43 - Degree-one η-sections with tangent ratio -y(η)
CerednikDrinfeld.FormalODModule.exists_isEtaSection_one_tangent_eq_neg_mul_of_edge_isogeny_of_apply_xi_eq_zero_of_apply_eta_ne_zero114 below · depth 44 - Degree-one eta-sections on the ξ-branch of the edge family
CerednikDrinfeld.FormalODModule.exists_isEtaSection_one_tangent_eq_neg_mul_of_edge_isogeny_of_apply_xi_ne_zero115 below · depth 44 - Degree-zero η-sections on the η-branch: tangent ratio -y(η)
CerednikDrinfeld.FormalODModule.exists_isEtaSection_zero_tangent_eq_neg_mul_of_edge_isogeny_of_apply_xi_eq_zero_of_apply_eta_ne_zero115 below · depth 44 - Degree-zero η-sections of the edge family where y(ξ)≠ 0
CerednikDrinfeld.FormalODModule.exists_isEtaSection_zero_tangent_eq_neg_mul_of_edge_isogeny_of_apply_xi_ne_zero115 below · depth 44 - Height 4 from a rank-4 Cartier module and nilpotent [p]-coordinates
CerednikDrinfeld.FormalODModule.hasHeight_four_of_basis_cartierModule_of_X_pow_mem_span38 below · depth 44 - Node stalks of a Cartier quadruple: lattices and kernel lines
CerednikDrinfeld.FormalODModule.lattice_eq_and_ker_eq_span_of_isCartierQuadruple_map_node_of_rigidNum_single_eq97 below · depth 44 - Rigidification numerator of the edge family at an arbitrary base point
CerednikDrinfeld.FormalODModule.smul_rigidNum_map_single_eq_smul_baseChange_of_rigidNum_single_eq_of_edge_isogeny0 below · depth 44 - Cartier curves with Fγ=Vγ descend to a one-dimensional law
MvFormalGroup.CartierModule.exists_hom_map_eq_of_frobenius_eq_verschiebungInt41 below · depth 44 - Rank of the Cartier module equals the height
CerednikDrinfeld.FormalODModule.eq_four_of_basis_cartierModule_of_finrank_eq_pow26 below · depth 45 - Node kernels of a Cartier quadruple are coordinate lines
CerednikDrinfeld.FormalODModule.ker_eq_span_of_lattice_eq_of_isCartierQuadruple_map_node_of_rigidNum_single_eq94 below · depth 45 - Node lattices of the Cartier quadruple of the normalised node triple
CerednikDrinfeld.FormalODModule.lattice_eq_of_isCartierQuadruple_map_node_of_rigidNum_single_eq91 below · depth 45 - Degree-one η-sections at the node of the standard edge
CerednikDrinfeld.FormalODModule.exists_isEtaSection_one_tangent_eq_neg_mul_map_node_of_rigidNum_single_eq90 below · depth 46 - Degree-zero η-sections at the node of the standard edge
CerednikDrinfeld.FormalODModule.exists_isEtaSection_zero_tangent_eq_neg_mul_map_node_of_rigidNum_single_eq90 below · depth 46 - Node normalisation of the rigidification numerator propagates under base change
CerednikDrinfeld.FormalODModule.smul_rigidNum_map_node_single_eq_smul_baseChange_of_rigidNum_single_eq0 below · depth 46