Documentation

LeanPool.KasamiCyclicAdditive.Geometry.PointFrobenius

Frobenius as a group endomorphism of the Fermat cubic, and its kernel #

This file supplies the two pieces of infrastructure that the geometric bridging statements of Assembly/GeometricChain.lean need but that no other module provides.

  1. Frobenius as an endomorphism. frobPt is the squaring map π on (fer K).toAffine.Point, packaged as an AddMonoidHom. It is obtained from Mathlib's WeierstrassCurve.Affine.Point.map applied to the Frobenius x ↦ x ^ 2, viewed as a ℤ-algebra map (every ring hom is one), together with the transport along ferZ.baseChange K = fer K. The computation rules frobPt_pt and frobPt_ptInf say that π squares the coordinates in both charts of FermatCubic.

  2. The kernel dictionary. isKernelPoint_iff identifies KasamiCyclicAdditive.FermatCubicFrobenius.IsKernelPoint of Geometry/FermatCubic/RationalKernel.lean — a condition on homogeneous triples — with the group-theoretic condition π^k P = -P. Combined with KasamiCyclicAdditive.FermatCubicFrobenius.rational_kernel_odd this gives kernel_trivial_odd: for odd n the map 1 + π^k is injective on E(K).

point_repr classifies the points of E(K): every one is the origin, a point at infinity ptInf a, or an affine Fermat point pt w t. This is what lets the two charts of FermatCubic be used exhaustively.

The Frobenius endomorphism #

The Fermat cubic in Weierstrass form over ℤ; fer K is its base change.

Equations
Instances For

    fer K is the base change of ferZ along ℤ → K.

    Transport points along an equality of curves.

    Equations
    Instances For

      curveCast leaves the coordinates of an affine point unchanged.

      The inverse of curveCast likewise leaves the coordinates unchanged.

      noncomputable def KasamiCyclicAdditive.PointFrobenius.frobAlg (K : Type u_2) [Field K] [CharP K 2] :

      The Frobenius x ↦ x ^ 2, as a ℤ-algebra map.

      Equations
      Instances For

        Frobenius as a group endomorphism of E(K).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem KasamiCyclicAdditive.PointFrobenius.frobPt_pt {K : Type u_1} [Field K] [DecidableEq K] [CharP K 2] {w t : K} (h : w ^ 3 + t ^ 3 = 1) :
          (frobPt K) (FermatCubic.pt w t h) = FermatCubic.pt (w ^ 2) (t ^ 2) ⋯

          π squares both Fermat coordinates.

          theorem KasamiCyclicAdditive.PointFrobenius.frobPt_ptInf {K : Type u_1} [Field K] [DecidableEq K] [CharP K 2] {a : K} (ha : a ^ 3 = 1) :

          π squares the parameter of a point at infinity.

          The CM relation. fer is defined over 𝔽₂, where it has exactly three points, so its trace of Frobenius is a = 2 + 1 - 3 = 0 and π² + 2 = 0 in the endomorphism ring.

          Iterated Frobenius #

          π as an element of the endomorphism monoid, so that π ^ k is available.

          Equations
          Instances For
            theorem KasamiCyclicAdditive.PointFrobenius.frobEnd_pow_pt {K : Type u_1} [Field K] [DecidableEq K] [CharP K 2] (k : ℕ) {w t : K} (h : w ^ 3 + t ^ 3 = 1) :
            (frobEnd K ^ k) (FermatCubic.pt w t h) = FermatCubic.pt (w ^ 2 ^ k) (t ^ 2 ^ k) ⋯

            π ^ k raises both Fermat coordinates to the 2 ^ k.

            theorem KasamiCyclicAdditive.PointFrobenius.frobEnd_pow_ptInf {K : Type u_1} [Field K] [DecidableEq K] [CharP K 2] (k : ℕ) {a : K} (ha : a ^ 3 = 1) :
            (frobEnd K ^ k) (FermatCubic.ptInf a ha) = FermatCubic.ptInf (a ^ 2 ^ k) ⋯

            π ^ k raises the parameter of a point at infinity to the 2 ^ k.

            Classification of the points of E(K) #

            Every point is the origin, a point at infinity, or an affine Fermat point. This is what makes the two charts of FermatCubic exhaustive.

            theorem KasamiCyclicAdditive.PointFrobenius.point_repr {K : Type u_1} [Field K] [DecidableEq K] [CharP K 2] (P : (FermatCubic.fer K).toAffine.Point) :
            P = 0 ∨ (∃ (a : K) (ha : a ^ 3 = 1), P = FermatCubic.ptInf a ha) ∨ ∃ (w : K) (t : K) (h : w ^ 3 + t ^ 3 = 1), P = FermatCubic.pt w t h

            The two charts of FermatCubic cover E(K).

            The kernel of 1 + π^k #

            KasamiCyclicAdditive.FermatCubicFrobenius.IsKernelPoint of Geometry/FermatCubic/RationalKernel.lean is a statement about homogeneous triples; on the affine chart it is exactly π^k P = -P.

            theorem KasamiCyclicAdditive.PointFrobenius.isKernelPoint_iff {K : Type u_1} [Field K] [DecidableEq K] [CharP K 2] {k : ℕ} {w t : K} (h : w ^ 3 + t ^ 3 = 1) :

            The dictionary. For an affine Fermat point, Geometry/FermatCubic/RationalKernel.lean's triple condition IsKernelPoint k W T 1 is the group-theoretic statement π^k P = -P.

            theorem KasamiCyclicAdditive.PointFrobenius.kernel_trivial_odd {K : Type u_1} [Field K] [DecidableEq K] [CharP K 2] [Fintype K] {n k : ℕ} (hn : Odd n) (hkn : k.Coprime n) (hcard : Fintype.card K = 2 ^ n) {P : (FermatCubic.fer K).toAffine.Point} (hP : (frobEnd K ^ k) P + P = 0) :
            P = 0

            Trivial rational kernel for odd n. The map 1 + π^k is injective on E(K): its only zero is the origin. This is KasamiCyclicAdditive.FermatCubicFrobenius.rational_kernel_odd transported through the dictionary.