Derivations and the sum of two points #
For two nonzero points P, Q of a Weierstrass curve W⁄K with P + Q ≠ 0, and a derivation D
on K over R, the derivation of the x-coordinate of P + Q is expressed through the
derivations of the x-coordinates of P and Q: this is Affine/Formula/Derivation.lean's
identity for the coordinates of the addition law, read on the points through Point.xCoord and
Point.yCoord.
Main statements #
WeierstrassCurve.Affine.Point.derivation_xCoord_add: ifW_Y = 2Y + a₁X + a₃does not vanish atPandQ(when theirx-coordinates differ), thenD x(P + Q) = W_Y(P + Q) • (W_Y(P)⁻¹ • D x(P) + W_Y(Q)⁻¹ • D x(Q)).WeierstrassCurve.Affine.Point.inv_smul_derivation_xCoord_add: for nonzeroP,QwithP + Q ≠ 0, ifW_Ydoes not vanish atP + Q, nor atPandQwhen theirx-coordinates differ, thenW_Y(P + Q)⁻¹ • D x(P + Q) = W_Y(P)⁻¹ • D x(P) + W_Y(Q)⁻¹ • D x(Q).
The derivation of the x-coordinate of a sum of points. For nonzero points P, Q of
W⁄K with P + Q ≠ 0, at both of which W_Y = 2Y + a₁X + a₃ does not vanish when their
x-coordinates differ, D x(P + Q) = W_Y(P + Q) • (W_Y(P)⁻¹ • D x(P) + W_Y(Q)⁻¹ • D x(Q)).
The differential dx / W_Y is additive on points: for nonzero points P, Q of W⁄K with
P + Q ≠ 0, if W_Y does not vanish at P + Q, nor at P and Q when their x-coordinates
differ, then
W_Y(P + Q)⁻¹ • D x(P + Q) = W_Y(P)⁻¹ • D x(P) + W_Y(Q)⁻¹ • D x(Q).