Definitions/Def_EllipticCurve_FrobeniusEndo.lean
Frobenius endomorphism, endomorphism pencils, kernel degrees
For an additive commutative group A and an additive endomorphism \psi of A, FrobeniusEndo.linePencil ψ m n is, for integers m,n, the additive endomorphism P \mapsto m\cdot P - n\cdot\psi(P) of A (written as the difference m\bullet\mathrm{id}_A - n\bullet\psi in the group of additive endomorphisms); linePencil_apply records its value on a point, and mem_ker_linePencil_iff says that P lies in its kernel exactly when m\cdot P = n\cdot\psi(P). The accompanying numerical invariant FrobeniusEndo.kerDeg ψ m n is defined as Nat.card of the kernel of this pencil, i.e. the number of elements of \ker(m - n\psi), with the usual convention that it is 0 when that kernel is infinite; kerDeg_def restates the definition.
The second group of definitions applies this to a Weierstrass curve. The standing context is a tower R \to S \to k of commutative rings with k a field, a Weierstrass curve W over R, and an S-algebra automorphism \sigma of k. Here \sigma acts on the group of affine points (W⁄k).Point by applying \sigma to coordinates, and FrobeniusEndo.frobEnd W σ is this action viewed as an additive endomorphism P \mapsto \sigma\cdot P of (W⁄k).Point, with frobEnd_apply recording that value. For a natural number p, FrobeniusEndo.frobPencilEnd W σ p m n is the \mathbb{Z}/p-linear endomorphism \bar m\cdot 1 - \bar n\cdot\rho(\sigma) of the p-torsion submodule \{P : p\cdot P = 0\} of (W⁄k).Point, where \rho(\sigma) is the endomorphism induced by \sigma (the value at \sigma of galoisRepModuleEnd S W p) and \bar m, \bar n are the images of m,n in \mathbb{Z}/p. Finally, FrobeniusEndo.FrobCharEqOnPoints W σ a q is the predicate, for an integer a and a natural number q, that every point P of (W⁄k).Point satisfies \sigma(\sigma P) - a\cdot\sigma P + q\cdot P = 0: the characteristic equation of \sigma asserted pointwise on the group of points, rather than as an identity in a ring of endomorphisms.
Relation to Mathlib
Mathlib has no notion of a pencil m - n\psi of additive endomorphisms, of its kernel count, or of a pointwise characteristic equation for a field automorphism acting on the points of a Weierstrass curve; these are the project's own. The endomorphism frobEnd is the project's action of S-algebra automorphisms of k on (W⁄k).Point packaged through Mathlib's DistribSMul.toAddMonoidHom.
Where it is used
These notions provide the vocabulary for counting points and for identifying the trace and determinant of the action of a Frobenius automorphism on the p-torsion of a Weierstrass curve, which is what enters the description of the mod p Galois representation attached to the Frey curve.
References
- L. C. Washington, Elliptic Curves: Number Theory and Cryptography, 2nd edition, Chapman & Hall/CRC, 2008, §4.2
- J. H. Silverman, The Arithmetic of Elliptic Curves, Graduate Texts in Mathematics 106, Springer, 1986, Chapter V
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 58 lines
- 9 declarations
- used in the statements of 21 theorems and imported by 21 proofs
- imports 2 definition modules
Source file: Definitions/Def_EllipticCurve_FrobeniusEndo.lean
Imported by
- no other definition module
Declarations
- def
FrobeniusEndo.linePencil - lemma
FrobeniusEndo.linePencil_apply - def
FrobeniusEndo.kerDeg - lemma
FrobeniusEndo.kerDeg_def - lemma
FrobeniusEndo.mem_ker_linePencil_iff - abbrev
FrobeniusEndo.frobEnd - lemma
FrobeniusEndo.frobEnd_apply - abbrev
FrobeniusEndo.frobPencilEnd - def
FrobeniusEndo.FrobCharEqOnPoints
Source
import Definitions.Def_FLTPrelim_GaloisRep import Definitions.Def_EllipticCurve_FrobeniusTrace open WeierstrassCurve WeierstrassCurve.Affine WeierstrassCurve.Affine.Point noncomputable section namespace FrobeniusEndo section Pencil variable {A : Type*} [AddCommGroup A] def linePencil (ψ : A →+ A) (m n : ℤ) : A →+ A := m • AddMonoidHom.id A - n • ψ @[simp] lemma linePencil_apply (ψ : A →+ A) (m n : ℤ) (P : A) : linePencil ψ m n P = m • P - n • ψ P := rfl def kerDeg (ψ : A →+ A) (m n : ℤ) : ℕ := Nat.card (linePencil ψ m n).ker lemma kerDeg_def (ψ : A →+ A) (m n : ℤ) : kerDeg ψ m n = Nat.card (linePencil ψ m n).ker := rfl lemma mem_ker_linePencil_iff (ψ : A →+ A) (m n : ℤ) (P : A) : P ∈ (linePencil ψ m n).ker ↔ m • P = n • ψ P := by rw [AddMonoidHom.mem_ker, linePencil_apply, sub_eq_zero] end Pencil section Frobenius variable {R : Type*} {S : Type*} {k : Type*} [CommRing R] [CommRing S] [Field k] [DecidableEq k] [Algebra R S] [Algebra R k] [Algebra S k] [IsScalarTower R S k] (W : WeierstrassCurve R) (σ : k ≃ₐ[S] k) abbrev frobEnd : (W⁄k).Point →+ (W⁄k).Point := DistribSMul.toAddMonoidHom (W⁄k).Point σ lemma frobEnd_apply (P : (W⁄k).Point) : frobEnd W σ P = σ • P := rfl abbrev frobPencilEnd (p : ℕ) (m n : ℤ) : Module.End (ZMod p) (Submodule.torsionBy ℤ (W⁄k).Point p) := ((m : ZMod p) • (1 : Module.End (ZMod p) (Submodule.torsionBy ℤ (W⁄k).Point p))) - (n : ZMod p) • galoisRepModuleEnd S W p σ def FrobCharEqOnPoints (a : ℤ) (q : ℕ) : Prop := ∀ P : (W⁄k).Point, σ • (σ • P) - a • (σ • P) + (q : ℤ) • P = 0 end Frobenius end FrobeniusEndo end
Statements phrased using this module (21)
- Frobenius satisfies π²-aπ+q=0 on all k-points
FrobeniusEndo.frobCharEqOnPoints_of_frobenius23 below · depth 7 - Pointwise characteristic equation of Frobenius from the kernel-count line
FrobeniusEndo.frobCharEqOnPoints_of_line10 below · depth 8 - Kernel-degree line #ker([m]-π)=m²-am+q
FrobeniusEndo.kerDeg_frobEnd_line_one11 below · depth 8 - Finiteness of ker([m]-π) on W(k)
FrobeniusEndo.kerDeg_frobEnd_line_one_ne_zero10 below · depth 8 - Characteristic equation of σ on p-torsion at an isotropic prime
FrobeniusEndo.charEq_on_torsionBy_of_line_of_isotropic3 below · depth 9 - Frobenius characteristic relation on all points from large torsion
FrobeniusEndo.frobCharEqOnPoints_of_charEq_on_torsion_of_trace_ne_zero0 below · depth 9 - Frobenius characteristic equation on points, trace-zero case
FrobeniusEndo.frobCharEqOnPoints_of_charEq_on_torsion_of_trace_zero3 below · depth 9 - Degree formula for the Frobenius pencil [m]-π
FrobeniusEndo.kerDeg_frobEnd_line_one_pos_and_eq9 below · depth 9 - Fixed points of the q-power Frobenius are the F-rational points
FrobeniusEndo.kerDeg_frobEnd_one_one0 below · depth 9 - Pointwise-equal automorphisms give the same torsion operator
FrobeniusEndo.galoisRepModuleEnd_eq_of_forall_eq0 below · depth 10 - Invariance of p-torsion trace and determinant under field extension
FrobeniusEndo.galoisTrace_det_eq_of_isScalarTower0 below · depth 10 - Trace and determinant of Frobenius on p-torsion
FrobeniusEndo.galoisTrace_det_frob_of_isAlgClosed27 below · depth 10 - Kernel count #ker([m]-π)=m²-am+q for the Frobenius pencil
FrobeniusEndo.kerDeg_frobEnd_line_one_pos_and_eq_of_torsion6 below · depth 10 - Trace and determinant of σ on p-torsion, isotropic case
FrobeniusEndo.trace_det_frob_of_line_of_isotropic2 below · depth 10 - Vanishing of det(̄ m-̄ nσ) on p-torsion versus p∣#ker
FrobeniusEndo.det_frobPencilEnd_eq_zero_iff_dvd_kerDeg1 below · depth 11 - Singular pencil on p-torsion forces p ∣ #ker([m]-[n]σ)
FrobeniusEndo.dvd_kerDeg_of_det_frobPencilEnd_eq_zero0 below · depth 11 - x([m]P-π P) as a rational function of x(P)
FrobeniusEndo.exists_x_linePencil_frobEnd_mul_collision_sq3 below · depth 11 - Frobenius trace on W[p] as q+1-#W(mathbb F_q)
FrobeniusEndo.galoisTrace_frob_eq_of_line_of_charEqOnPoints6 below · depth 11 - Trace and determinant of σ on W(K)[p]
FrobeniusEndo.trace_det_frob_of_line_of_charEqOnPoints4 below · depth 12 - Trace and determinant of σ on W(K)[p], anisotropic case
FrobeniusEndo.trace_det_frob_of_charEq_of_anisotropic0 below · depth 13 - Kernel count of [m]-π over a finite field
FrobeniusEndo.kerDeg_frobEnd_line_one_pos_and_eq_finiteField7 below · depth 22