Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Isogeny.MulByInt.PrimeKernel

Multiplication by a prime #

For a prime ℓ the non-vanishing hypothesis the division-polynomial construction asks of [n] is supplied by primality rather than assumed, so mulByPrimeIsogeny exposes none. Its kernel is the ℓ-torsion, and carries the ZMod ℓ-module structure Kernel.lean builds for every nonvanishing n, read at n = ℓ.

Nothing here assumes anything about the base field beyond its being a field — no algebraic closure, and no condition on the characteristic. Those enter only when the kernel's cardinality is computed, which is why they are not imposed at this layer.

Main definitions #

Main results #

References #

@[reducible, inline]
noncomputable abbrev TauCeti.Isogeny.mulByPrimeIsogeny {F : Type u_1} [Field F] (W : WeierstrassCurve.Affine F) [WeierstrassCurve.IsElliptic W] (l : ℕ) [hl : Fact (Nat.Prime l)] :

Multiplication by a prime ℓ: primality supplies the non-vanishing hypothesis the division-polynomial construction asks for, so no such hypothesis is exposed here. The ZMod ℓ-module structure on its kernel is kerZModModule read at n = ℓ; nothing further is needed for primes.

Equations
Instances For

    ker [ℓ] is the ℓ-torsion subgroup, the prime reading of ker_mulByIntIsogeny_eq_torsionBy: a consumer phrased on AddSubgroup.torsionBy gets there without unfolding the abbreviation or rebuilding its non-vanishing argument.