Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Isogeny.Dual.KernelWeilPairing

The Weil pairing on the kernels of dual isogenies #

For an isogeny φ : W₁ → W₂ of degree n invertible in a separably closed field F, there is a nondegenerate bilinear pairing

ker φ × ker φ̂ → Additive (rootsOfUnity n F).

It is characterized by e_φ(P, φ R) = e_n(P, R) for R ∈ W₁[n]. Every point of ker φ̂ has such a lift. The value is independent of the lift because ker φ is isotropic for e_n: lift its first argument through φ̂ and use the adjointness of φ and φ̂. This kernel pairing is the coefficient pairing used in the local duality of isogeny descent, unlike the restriction of e_n to ker φ × ker φ, which is zero.

The construction uses the native point maps, the existing Weil pairing and its adjointness under dual isogenies. No choice of bases or cyclicity of either kernel is required. The maps kerToTorsion and torsionToDualKer are the native-point counterparts of TauCeti.Isogeny.kerCoeffToTorsionCoeff and TauCeti.Isogeny.torsionCoeffToDualKerCoeff; TauCeti.Isogeny.torsionShortExact in TauCeti.AlgebraicGeometry.EllipticCurve.GaloisCohomology.Isogeny.Torsion packages their sequence as discrete Galois modules. The pairing is defined on geometric points; no Galois action is considered.

References #

theorem TauCeti.Isogeny.weilPairing_eq_zero_of_pointMap_eq_zero {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (φ : Isogeny W₁ W₂) [IsSepClosed F] (hd : ↑φ.degree ≠ 0) {P R : ↥(Submodule.torsionBy ℤ W₁.Point ↑φ.degree)} (hP : (Hom.ofIsogeny φ).pointMap ↑P = 0) (hR : (Hom.ofIsogeny φ).pointMap ↑R = 0) :
((weilPairing W₁ φ.degree hd) P) R = 0

The kernel of an isogeny is isotropic for the Weil pairing at its degree.

The isogeny Weil pairing on the kernels of φ and φ̂. It is characterized by e_φ(P, φ R) = e_n(P, R) on degree torsion, where n = deg φ.

Instances For
    @[simp]
    theorem TauCeti.Isogeny.kerWeilPairing_torsionToDualKer {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (φ : Isogeny W₁ W₂) [IsSepClosed F] (hd : ↑φ.degree ≠ 0) (P : ↥(Hom.ofIsogeny φ).pointMapHom.ker) (R : ↥(Submodule.torsionBy ℤ W₁.Point ↑φ.degree)) :
    ((φ.kerWeilPairing hd) P) (φ.torsionToDualKer R) = ((weilPairing W₁ φ.degree hd) (φ.kerToTorsion P)) R

    The characteristic formula for the kernel pairing, without choosing a lift.

    theorem TauCeti.Isogeny.kerWeilPairing_unique {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (φ : Isogeny W₁ W₂) [IsSepClosed F] (hd : ↑φ.degree ≠ 0) (e : ↥(Hom.ofIsogeny φ).pointMapHom.ker →+ ↥(Hom.ofIsogeny φ.dual).pointMapHom.ker →+ Additive ↥(rootsOfUnity φ.degree F)) (he : ∀ (P : ↥(Hom.ofIsogeny φ).pointMapHom.ker) (R : ↥(Submodule.torsionBy ℤ W₁.Point ↑φ.degree)), (e P) (φ.torsionToDualKer R) = ((weilPairing W₁ φ.degree hd) (φ.kerToTorsion P)) R) :

    The characteristic formula determines the bilinear kernel pairing uniquely.

    theorem TauCeti.Isogeny.kerWeilPairing_nondegenerate_left {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (φ : Isogeny W₁ W₂) [IsSepClosed F] (hd : ↑φ.degree ≠ 0) {P : ↥(Hom.ofIsogeny φ).pointMapHom.ker} (hP : ∀ (Q : ↥(Hom.ofIsogeny φ.dual).pointMapHom.ker), ((φ.kerWeilPairing hd) P) Q = 0) :
    P = 0

    The isogeny Weil pairing is nondegenerate in its first argument.

    theorem TauCeti.Isogeny.kerWeilPairing_nondegenerate_right {F : Type u_1} [Field F] [DecidableEq F] {W₁ W₂ : WeierstrassCurve.Affine F} [WeierstrassCurve.IsElliptic W₁] [WeierstrassCurve.IsElliptic W₂] (φ : Isogeny W₁ W₂) [IsSepClosed F] (hd : ↑φ.degree ≠ 0) {Q : ↥(Hom.ofIsogeny φ.dual).pointMapHom.ker} (hQ : ∀ (P : ↥(Hom.ofIsogeny φ).pointMapHom.ker), ((φ.kerWeilPairing hd) P) Q = 0) :
    Q = 0

    The isogeny Weil pairing is nondegenerate in its second argument.