Why does elliptic curve point addition satisfy the associative law?
This article introduces the proof of the associativity law for elliptic curve point addition, as well as the stronger 9-point theorem. Additionally, it covers three corollaries of this theorem: Pascal's theorem, Pappus' theorem, and the polar principle of pole and polar for conic sections.
Elementary Proof
(Theorem 1:) For a non-singular elliptic curve , take three distinct points such that the sum of any two or three points is not the point at infinity . Define as the third intersection point of the line connecting and with , reflected about the -axis (this point clearly lies on ). Then we have:
(Proof 1:) We attempt to prove this using a relatively elementary method. Let the coordinates of the three points on be . Define :
Denote this point as ;
Denote this point as .
Then compute:
Then verify that . Since manual calculation is quite tedious, we use Sagemath's Gröbner basis reduction to verify that the difference is .
# 1) Base polynomial ring and fraction field
R = PolynomialRing(QQ, ['A','B','x1','y1','x2','y2','x3','y3'], order='lex')
A,B,x1,y1,x2,y2,x3,y3 = R.gens()
K = R.fraction_field()
# 2) Addition formulas (x- and y-coordinate) using secant/slope; generic position
def xAdd(xa, ya, xb, yb):
lam_ab = (yb - ya)/(xb - xa)
return lam_ab**2 - xa - xb
def yAdd(xa, ya, xb, yb):
lam_ab = (yb - ya)/(xb - xa)
return -lam_ab*((lam_ab**2 - xa - xb) - xa) - ya
# 3) Lift symbols to fraction field
A,B,x1,y1,x2,y2,x3,y3 = [K(z) for z in (A,B,x1,y1,x2,y2,x3,y3)]
# 4) Build x((P+Q)+R) and x(P+(Q+R))
x12 = xAdd(x1,y1,x2,y2); y12 = yAdd(x1,y1,x2,y2)
x23 = xAdd(x2,y2,x3,y3); y23 = yAdd(x2,y2,x3,y3)
xA = xAdd(x12,y12,x3,y3) # x((P+Q)+R)
xB = xAdd(x1,y1,x23,y23) # x(P+(Q+R))
# 5) Take common-denominator numerator and reduce modulo the curve ideal
diff = xA - xB
num = diff.numerator() # element of R up to a unit; denominators assumed nonzero (generic position)
I = R.ideal([
y1**2 - (x1**3 + A*x1 + B),
y2**2 - (x2**3 + A*x2 + B),
y3**2 - (x3**3 + A*x3 + B)
])
rem = I.reduce(num) # Gröbner normal form modulo the curve ideal
print(rem.is_zero())
The program outputs True, indicating that the associativity of point addition on the elliptic curve holds.
9-Points Theorem
In fact, this conclusion holds not only on elliptic curves but also on general cubic curves:
(Theorem Two:) In the projective plane (where is the field of definition), let be a cubic curve defined by the homogeneous cubic polynomial . Given three lines and another three lines such that , their intersection points (excluding ) are all non-singular points on . If these eight points are distinct (the original theorem does not require this condition; for brevity, we do not discuss coincident points here), then the intersection point must also lie on the curve .
An intuitive example is as follows, where are the red lines, are the blue lines, and the black curve is the cubic curve :
(Proof Two:) The idea of the proof is to define , so that . Then, since lies on both and , both and vanish, leading to , i.e., lies on the cubic curve .
First, we parameterize the line equation . Suppose satisfies in . We can set:
to transform the line equation from to . Since line passes through points , let be the corresponding parameter pairs for these three points on . Substituting the parameterization of into the equations of lines gives . Since lie on respectively, we have . On the other hand, points other than do not lie on , so is a nonzero polynomial. Multiplying these three expressions, we obtain , a homogeneous cubic polynomial in and .
Consider the following lemma:
(Lemma 2.1:) If two homogeneous cubic polynomials and intersect a line at three identical points (counting multiplicity), then there exists a constant such that .
The lemma is intuitively clear. From the perspective of univariate functions, if two cubic functions and share the same three roots (with the line ), say (which may coincide), then by the zero theorem, both functions must contain the polynomial . Since this polynomial is already cubic, the only difference between and is a constant factor . The formal proof simply translates this univariate argument into projective and parameterized language, which we omit here.
For another homogeneous cubic polynomial , apply the same -parameterization to transform it into . Clearly, also passes through points . By Lemma 2.1, there exists a constant such that .
Suppose the projective equation of is , where are not all zero. Without loss of generality, assume , so:
Let . Then . Write as a polynomial in : . Note that:
Thus, we can rewrite:
and (since , independent of parameter choice). Since , we have , i.e.:
Similarly, we have:
Now define:
It is easy to show that and . Since and intersect but do not coincide, . By the unique factorization theorem, , i.e., , where is also a linear form (a line).
Additionally, from the given conditions, , and clearly also vanishes at these points. Hence, . Since and do not pass through these three points, we have .
Note that two points determine a line. This implies that lies on both and . Since , the only possibility is , which implies . Therefore, we have , which is the conclusion we aimed to prove at the beginning. This shows that lies on .
After proving the 9-points theorem, we can show that the addition on elliptic curves satisfies associativity. As shown in the figure below, let , , , and point is , the intersection of and . By the 9-points theorem, , , and are concurrent. Computing gives the intersection of and , while computing gives the intersection of and . Therefore, these two intersection points are the same. This verifies , i.e., the associativity of point addition holds.
The 9-points theorem has a more general form:
(Theorem Three, Cayley–Bacharach:) Let be two cubic curves intersecting at nine distinct points . If a cubic curve passes through , then it also passes through .
It is easy to see that if and degenerate into unions of three lines, this theorem reduces to the 9-points theorem.
(Proof Three:) This is a classical result in algebraic geometry. You can find it in Hartshorne's GTM52 (page 400, Corollary 4.5). Also, see the link on Banana Space: Cayley–Bacharach Theorem.
Pascal/Pappus
(Corollary Four, Pascal:) Let be a hexagon inscribed in a conic (ellipse, parabola, or hyperbola), where are distinct points in the affine plane. Let be the intersection of and , be the intersection of and , and be the intersection of and . Then the three points are collinear. As shown in the figure:
(Proof Four:) Let , , , , , . We can list the intersection table of the line family and the line family :
Let be the projective form of , and let be the projective form of the line . Then:
is a homogeneous cubic polynomial, and must pass through the points . Since these eight points are all non-singular points in , the conditions of Theorem 2 (9-points theorem) are satisfied. By Theorem 2, we have , and clearly , so . Therefore, are collinear.
(Corollary Five, Pappus:) Let and be two distinct lines in the plane, be distinct points on , and be distinct points on . Assume none of these points is the intersection of and . Let be the intersection of and , be the intersection of and , and be the intersection of and . Then the three points are collinear. As shown in the figure:
(Proof Five:) Here, and represent the degenerate case of the conic in Theorem 4, and the corresponding hexagon is .
Poles and Polar Lines
After learning about Pascal's theorem for ellipses, I recalled that some classmates in high school introduced properties related to poles and polar lines of conic sections. It seems these two concepts should be connected. First, let's define poles and polar lines (using an ellipse as an example):
(Definition Six, Pole and Polar Line:)
If point lies inside the ellipse, draw two secants through intersecting the ellipse at points and . If lines and intersect at point , and lines and intersect at point , then and line form a pole and its polar line.
If point lies outside the ellipse, draw two tangents from to the ellipse. The line connecting the two points of tangency is the polar line of the pole .
If point lies on the ellipse, the tangent to the ellipse at is its polar line.
One fundamental property of poles and polar lines is the principle of polarity, stated as follows:
(Corollary Seven, Principle of Polarity:) For the same ellipse, if the polar line of point passes through point , then the polar line of point passes through point .
(Proof Seven:) Here, we provide a purely geometric proof using only Pascal's theorem. First, consider the case where is inside the ellipse. According to the definition, construct its polar line :
The original proof reduces to proving that the tangency points and of point with the ellipse satisfy the condition that are collinear. Draw another secant through and temporarily hide other lines to obtain the following diagram:
We can see that forms a hexagon inscribed in the ellipse. According to Pascal's theorem, the three intersection points of and , and , and and are collinear (which indirectly proves that the polar line is a straight line):
Clearly, point here is the same as point mentioned earlier, so we can conclude that lies on line . The choice of secant is arbitrary. If we let points and approach each other infinitely (i.e., becomes tangent to the ellipse), we find that and coincide with the tangency point :
Therefore, we can conclude that line passes through the tangency point . Similarly, it also passes through the other tangency point of point with the ellipse. According to the definition of the polar line of a point outside a circle, is the polar line of . Since two points determine a line, coincides with , so lies on the polar line of .
The case where lies on the ellipse is straightforward. First, the polar line of is the tangent to the ellipse at . Conversely, take any other point on this tangent. Draw the two tangents from to the ellipse. One of the tangency points is , so naturally lies on the polar line formed by connecting the two tangency points.
Now, consider the case where lies outside the ellipse. According to the definition, draw two tangents from to the ellipse. Connect the two tangency points and to obtain the polar line of . Then, take a point on and construct its polar line according to the definition. This gives the following diagram (the original proposition reduces to proving that are collinear):
Consider the degenerate case of the hexagon inscribed in the ellipse. The intersection points are (intersection of and ), (intersection of and ), and (not shown, intersection of the tangents to the ellipse at and ). According to Pascal's theorem, are collinear. Therefore, lies on the polar line of point .
Now, rotate line around point until it coincides with . Since the polar line depends only on the position of point , this operation does not change the position of the polar line . By the definition of points and , must coincide with point . Therefore, we have proven that lies on , i.e., are collinear.