The condition that a (projective-like) point $(x, z)$ on the dehomogenized Weierstrass curve $z = x^3 + a_4 x z^2 + a_6 z^3$ lies in the $n$-th piece $E_n$ of the $p$-adic filtration: $p^n \mid x$ and $p^{3n} \mid z$.
Instances For
Factorization of the difference of two cubic evaluations: $f(a) - f(b) = (a - b) \cdot q(a, b)$ where $q$ is symmetric in $a, b$.
Vieta's formula (distinct roots case). If $x_1, x_2, x_3$ are three distinct roots of a cubic $c_3 X^3 + c_2 X^2 + c_1 X + c_0$ in a domain, then $c_3 (x_1 + x_2 + x_3) + c_2 = 0$.
Substituting the line $z = \alpha x + \beta$ into the Weierstrass equation $z = x^3 + a_4 x z^2 + a_6 z^3$ yields a cubic in $x$ with explicit coefficients.
Vieta's formula applied to three distinct collinear points on the Weierstrass curve: the sum of the $x$-coordinates satisfies $(1 + a_4 \alpha^2 + a_6 \alpha^3)(x_1 + x_2 + x_3) + (2 a_4 \alpha \beta + 3 a_6 \alpha^2 \beta) = 0$.
Algebraic identity relating the differences $z_2 - z_1$ and $x_2 - x_1$ for two points on the Weierstrass curve, before cancelling $x_2 - x_1$.
Identity expressing the slope $\alpha$ of a chord through two distinct points on the Weierstrass curve: $\alpha \cdot D = N$, where $D$ is the slope denominator and $N$ is the numerator.
The slope denominator $D = 1 - a_4 x_1 (z_2 + z_1) - a_6 (z_2^2 + z_1 z_2 + z_1^2)$ is a $p$-adic unit when $x_1, z_1, z_2$ lie in the filtration $E_n$ (since $D$ is $1$ plus a multiple of $p$).
The slope numerator $N = x_2^2 + x_1 x_2 + x_1^2 + a_4 z_2^2$ is divisible by $p^{2n}$ when $x_1, x_2$ lie in $p^n \mathbb{Z}_p$ and $z_2$ lies in $p^{3n} \mathbb{Z}_p$.
If two distinct points in the filtration $E_n$ lie on a line $z = \alpha x + \beta$, then $p^{2n}$ divides the slope $\alpha$ (chord case).
Given a line $z_1 = \alpha x_1 + \beta$ through a point in $E_n$, if $p^{2n} \mid \alpha$ then $p^{3n} \mid \beta$ (the intercept lies in $p^{3n} \mathbb{Z}_p$).
From Vieta's relation $(1 + a_4 \alpha^2 + a_6 \alpha^3)(x_1 + x_2 + x_3) + (2 a_4 \alpha \beta + 3 a_6 \alpha^2 \beta) = 0$, together with $p^{2n} \mid \alpha$ and $p^{3n} \mid \beta$, conclude $p^{5n} \mid x_1 + x_2 + x_3$.
Lemma 24.17 (distinct collinear points case). Three distinct collinear points $P_1, P_2, P_3$ in the filtration $E_n$ of the Weierstrass curve satisfy $p^{5n} \mid x_1 + x_2 + x_3$.
Vieta's relation (tangent case). When the line is tangent to the curve at $P_1$ and meets again at $P_3 \neq P_1$, the Vieta sum identity holds with multiplicity: $x_1 + x_1 + x_3$.
Vieta's relation (flex/triple-tangent case). When the line is a flex tangent to the curve at $P_1$ (intersecting with multiplicity $3$), the Vieta sum is $x_1 + x_1 + x_1 = 3 x_1$.
The flex-case analogue of slope_in_p2n: when a flex tangent line passes through a point in
$E_n$, the slope $\alpha$ satisfies $p^{2n} \mid \alpha$.
Lemma 24.17 (full statement). Three collinear points $P_1, P_2, P_3$ in the filtration $E_n$ of the Weierstrass curve over $\mathbb{Z}_p$ satisfy $p^{5n} \mid x_1 + x_2 + x_3$. The proof case-splits on which of the $x$-coordinates coincide (chord, tangent, or flex), invoking the corresponding Vieta and slope-divisibility lemmas.