Rational cyclicity gives cyclicity after a bounded power of varpi
Provedexists_forall_pow_smul_eq_smul_of_forall_exists_smul_eq_smulLet be a commutative ring that is a domain and a discrete valuation ring, and let be an irreducible element. Let be a commutative -algebra, and let be an abelian group carrying compatible module structures over and over (the -action factoring through in the sense of a scalar tower) such that is finitely generated as an -module. Let , and suppose that generates over up to -torsion: for every there exist with and such that . The conclusion is that a single exponent suffices uniformly: there exists a natural number such that for every there is with , that is, . No torsion-freeness of , faithfulness of the -action, or finiteness of over is assumed.
This is the rank-one half of the elementary lattice lemma used when a module that is rationally cyclic over an order is compared with the submodule generated by one element: rational cyclicity upgrades to cyclicity up to a bounded power of the uniformiser. It is used in the construction of a generator of the relevant part of the Tate module of a modular Jacobian, in ModularCurve.exists_generator_tateModule_inf_pi_closure_inertia_smul_sub_and_smul_eisensteinTorsionBar_eq_zero.
import Mathlib set_option maxHeartbeats 4000000 set_option synthInstance.maxHeartbeats 400000 set_option backward.isDefEq.respectTransparency.types false
theorem exists_forall_pow_smul_eq_smul_of_forall_exists_smul_eq_smul
{R : Type} [CommRing R] [IsDomain R] [IsDiscreteValuationRing R]
(ϖ : R) (hϖ : Irreducible ϖ)
{A : Type} [CommRing A] [Algebra R A]
{M : Type} [AddCommGroup M] [Module R M] [Module A M] [IsScalarTower R A M]
[Module.Finite R M]
(g : M) (hcyc : ∀ x : M, ∃ d : R, d ≠ 0 ∧ ∃ t : A, d • x = t • g) :
∃ a : ℕ, ∀ x : M, ∃ t : A, ϖ ^ a • x = t • g := by sorry