[proofplan]
We compare the geometric construction with the algebraic formulas case by case. The identity cases and the vertical-line cases follow from the projective equation and the fact that every vertical affine line meets the cubic also at $O$. In the nonvertical secant and tangent cases, we write the relevant line as $y=\lambda x+\nu$, substitute it into the affine Weierstrass equation, and compare the roots of the resulting cubic polynomial. The coefficient of $x^2$ determines the third intersection abscissa, and reflecting that third point gives exactly the stated algebraic formula.
[/proofplan]
[step:Identify the affine equation and the reflection map]
Let $U_Z \subset \mathbb{P}^2_k$ denote the affine chart $Z \ne 0$, with affine coordinate functions $x=X/Z$ and $y=Y/Z$. On this chart, $E$ is given by the affine equation $y^2=x^3+ax+b$.
Define the reflection map $\iota: E(k) \to E(k)$ by sending each projective point $[X:Y:Z]\in E(k)$ to the projective point $[X:-Y:Z]\in E(k)$. Because $\operatorname{char}(k)\ne 2$, this is the usual affine reflection $(x,y)\mapsto (x,-y)$ on $U_Z(k)$ and fixes the [point at infinity](/page/Projective%20Plane) $O=[0:1:0]$, since $[0:-1:0]=[0:1:0]$ as projective points. The [geometric chord-and-tangent law](/page/Elliptic%20Curve%20Group%20Law) sends $P,Q$ to $\iota(R)$, where $R$ is the third [intersection point](/page/Intersection%20Multiplicity) of $E$ with the relevant line, counted with multiplicity.
[/step]
[step:Handle the identity cases involving the point at infinity]
If $P=O$ and $Q \in E(k)$, the geometric rule uses the line through $O$ and $Q$ when $Q \ne O$. For an affine point $Q=(x_2,y_2)$, this line is the projective line
\begin{align*}
X-x_2Z=0.
\end{align*}
Substituting $X=x_2Z$ into the projective equation gives
\begin{align*}
Y^2Z = (x_2^3+ax_2+b)Z^3.
\end{align*}
On the affine chart $Z\ne0$, divide by $Z^3$ and set $u=Y/Z$. The local intersection equation becomes
\begin{align*}
u^2-y_2^2=0.
\end{align*}
Equivalently,
\begin{align*}
(u-y_2)(u+y_2)=0.
\end{align*}
Thus the affine intersections are $(x_2,y_2)$ and $(x_2,-y_2)$, with the single affine point counted twice when $y_2=0$. At $O$, use the affine chart $Y\ne0$ with local coordinates $s=X/Y$ and $t=Z/Y$. The line $X-x_2Z=0$ has local equation $s-x_2t=0$, and the cubic equation becomes
\begin{align*}
t=s^3+ast^2+bt^3.
\end{align*}
Substituting $s=x_2t$ gives
\begin{align*}
t=t^3(x_2^3+ax_2+b).
\end{align*}
Since the right-hand side has order at least three in $t$, the intersection multiplicity at $O$ is one. Hence the three intersections counted with multiplicity are $O$, $Q$, and $\iota(Q)$; after accounting for the intersection already at $O$, the third point is $\iota(Q)$. Reflecting gives $Q$. Hence the geometric law gives $O+Q=Q$.
The case $P+O=P$ is the same argument with $P$ in place of $Q$. If $P=Q=O$, the tangent line at $O$ is the line $Z=0$. On the chart $Y\ne0$, this line is $t=0$, and substituting into the local cubic equation $t=s^3+ast^2+bt^3$ gives $s^3=0$. Therefore the intersection is concentrated at $O$ with multiplicity three. Reflecting $O$ gives $O$. Thus the geometric law agrees with the algebraic identity rule in all cases involving $O$.
[guided]
The only delicate point in the identity cases is the multiplicity count. When $Q=(x_2,y_2)$ is affine, the line through $O$ and $Q$ is vertical in affine coordinates, namely $X-x_2Z=0$. Substitution into the homogeneous equation gives
\begin{align*}
Y^2Z=(x_2^3+ax_2+b)Z^3.
\end{align*}
On $Z\ne0$, writing $u=Y/Z$ turns this into
\begin{align*}
u^2-y_2^2=0,
\end{align*}
because $Q\in E(k)$ gives $y_2^2=x_2^3+ax_2+b$. Thus the affine intersections are $Q=(x_2,y_2)$ and $\iota(Q)=(x_2,-y_2)$, with multiplicity two at the same affine point when $y_2=0$.
We also need to see exactly how the point at infinity contributes. Work on the chart $Y\ne0$ around $O=[0:1:0]$, and define local coordinates $s=X/Y$ and $t=Z/Y$. In these coordinates $O$ is $(0,0)$, the vertical line is $s-x_2t=0$, and the cubic equation is
\begin{align*}
t=s^3+ast^2+bt^3.
\end{align*}
Substituting $s=x_2t$ gives
\begin{align*}
t=t^3(x_2^3+ax_2+b).
\end{align*}
This equation has a simple zero at $t=0$, so the line meets $E$ at $O$ with multiplicity one. Therefore the line through $O$ and $Q$ has intersections $O$, $Q$, and $\iota(Q)$ counted with multiplicity. Since the geometric law reflects the third point after the two input intersections are counted, it sends $O$ and $Q$ to $\iota(\iota(Q))=Q$.
For $O+O$, the tangent line is $Z=0$. In the same local coordinates this is $t=0$, and the local equation becomes $s^3=0$. Thus the tangent line meets $E$ only at $O$, with multiplicity three, and reflecting $O$ again gives $O$.
[/guided]
[/step]
[step:Handle vertical affine lines]
Let $P=(x_1,y_1)\in E(k)$ be affine and let $Q=-P=(x_1,-y_1)$. The line through $P$ and $Q$ is the vertical projective line
\begin{align*}
L: X-x_1Z=0.
\end{align*}
As in the previous step, substituting $X=x_1Z$ into the projective equation shows that the affine intersections are $(x_1,y_1)$ and $(x_1,-y_1)$. If $y_1\ne0$, these are two distinct simple affine intersections. If $y_1=0$, then the affine local equation on the line is
\begin{align*}
u^2=0,
\end{align*}
where $u=Y/Z$ is the affine coordinate along the vertical line, so the point $(x_1,0)$ has intersection multiplicity two. The local computation at $O$ from the preceding step, with $x_1$ in place of $x_2$, gives intersection multiplicity one at $O$. Therefore the third intersection point is $O$, and its reflection is $\iota(O)=O$. This agrees with the algebraic rule $P+(-P)=O$.
In particular, if $P=Q=(x_1,0)$, then $Q=-P$, and the tangent line at $P$ is vertical. The multiplicity-two affine computation above shows that the tangent contact accounts for both copies of $P$, while the remaining intersection is $O$. Hence the geometric tangent construction gives $P+P=O$, matching the algebraic exceptional tangent rule.
[guided]
For a vertical affine line, the multiplicity statement is part of the argument, not just notation. The line is $X-x_1Z=0$. On $Z\ne0$, write $u=Y/Z$. Because $P\in E(k)$, we have $y_1^2=x_1^3+ax_1+b$, and the restriction of the cubic equation to the vertical line is
\begin{align*}
u^2-y_1^2=0.
\end{align*}
If $y_1\ne0$, the factorization $(u-y_1)(u+y_1)=0$ gives the two distinct affine intersections $P$ and $-P$. If $y_1=0$, this becomes $u^2=0$, so the single affine point $P=(x_1,0)$ is counted with multiplicity two. This is exactly the tangent situation: the vertical line has double contact at a point with $y$-coordinate zero.
The projective point at infinity is still present. Using the chart $Y\ne0$ with local coordinates $s=X/Y$ and $t=Z/Y$, the same computation as in the identity step shows that the vertical line $s-x_1t=0$ meets $E$ at $O$ with multiplicity one. Hence the vertical line has total intersection divisor $P+(-P)+O$ when $y_1\ne0$, and $2P+O$ when $y_1=0$. In both cases, after the input points have been counted, the third intersection point is $O$, and reflecting $O$ gives $O$.
[/guided]
[/step]
[step:Compare roots for a nonvertical secant]
Let $P=(x_1,y_1)$ and $Q=(x_2,y_2)$ be affine points with $P\ne Q$ and $Q\ne -P$. We first verify that $x_1\ne x_2$. If $x_1=x_2$, then the affine equation gives $y_1^2=y_2^2$, hence
\begin{align*}
(y_1-y_2)(y_1+y_2)=0.
\end{align*}
Since $P\ne Q$, we have $y_1\ne y_2$, so $y_2=-y_1$, which would imply $Q=-P$. This contradicts the hypothesis $Q\ne -P$. Therefore $x_1\ne x_2$, so the line through $P$ and $Q$ is nonvertical. Define the slope $\lambda\in k$ by $\lambda=(y_2-y_1)/(x_2-x_1)$. Define the intercept $\nu\in k$ by $\nu=y_1-\lambda x_1$.
Thus the secant line is the affine map $\ell: k \to k^2$ sending $t$ to $(t,\lambda t+\nu)$. Its projective closure has equation $Y=\lambda X+\nu Z$, so it does not contain $O=[0:1:0]$ because substituting $O$ gives $1=0$. Hence every intersection of this nonvertical line with $E$ lies in the affine chart $Z\ne0$ and is detected by the following affine substitution.
Substituting $y=\lambda x+\nu$ into $y^2=x^3+ax+b$ gives the cubic polynomial
\begin{align*}
F(T) := T^3-\lambda^2T^2+(a-2\lambda\nu)T+(b-\nu^2) \in k[T].
\end{align*}
The roots of $F$ are precisely the affine $x$-coordinates of the intersections of $E$ with the line. Since $P$ and $Q$ lie on the line and on $E$, both $x_1$ and $x_2$ are roots. Because $F$ is monic and $x_1,x_2\in k$, polynomial division in $k[T]$ gives a linear quotient after removing the factors $T-x_1$ and $T-x_2$, with multiplicity understood if $x_1=x_2$. Let $x_R\in k$ denote its root, so
\begin{align*}
F(T)=(T-x_1)(T-x_2)(T-x_R).
\end{align*}
Comparing the coefficient of $T^2$ gives
\begin{align*}
x_1+x_2+x_R=\lambda^2.
\end{align*}
Therefore
\begin{align*}
x_R=\lambda^2-x_1-x_2.
\end{align*}
The third intersection point is $R=(x_R,\lambda x_R+\nu)$. Reflecting gives $\iota(R)=(x_R,-\lambda x_R-\nu)$. Since $\nu=y_1-\lambda x_1$, this becomes
\begin{align*}
\iota(R)=(x_R,\lambda(x_1-x_R)-y_1).
\end{align*} Hence the geometric sum is
\begin{align*}
(x_R,\lambda(x_1-x_R)-y_1),
\end{align*}
which is exactly the algebraic formula with $x_3=x_R$ and $y_3=\lambda(x_1-x_3)-y_1$.
[guided]
The point of this step is to turn the geometric phrase “third intersection point” into a coefficient calculation. Because $P\ne Q$ and $Q\ne -P$, the two affine points do not lie on a vertical line. Here is the verification. If $x_1=x_2$, then substituting both points into the same affine Weierstrass equation gives $y_1^2=y_2^2$, hence
\begin{align*}
(y_1-y_2)(y_1+y_2)=0.
\end{align*}
Since $P\ne Q$, the equality $y_1=y_2$ is impossible, so $y_2=-y_1$. This would mean $Q=-P$, contrary to the hypothesis. Thus $x_1\ne x_2$. We may therefore define the slope $\lambda\in k$ by
\begin{align*}
\lambda = \frac{y_2-y_1}{x_2-x_1}.
\end{align*}
Define the intercept $\nu\in k$ by
\begin{align*}
\nu = y_1-\lambda x_1.
\end{align*}
The affine line through $P$ and $Q$ is the map $\ell: k \to k^2$ sending $t$ to $(t,\lambda t+\nu)$. Its projective closure has equation $Y=\lambda X+\nu Z$, and this line does not pass through $O=[0:1:0]$ because substituting $O$ gives $1=0$. Therefore no intersection point is lost when we work in the affine chart $Z\ne0$.
This line passes through $P$ because $\lambda x_1+\nu=y_1$, and it passes through $Q$ because the definition of $\lambda$ gives
\begin{align*}
\lambda x_2+\nu
= \lambda x_2+y_1-\lambda x_1
= y_1+\lambda(x_2-x_1)
= y_2.
\end{align*}
Now substitute the line equation $y=\lambda x+\nu$ into the affine Weierstrass equation. A point $(x,\lambda x+\nu)$ lies on $E$ exactly when
\begin{align*}
(\lambda x+\nu)^2=x^3+ax+b.
\end{align*}
Equivalently, its $x$-coordinate is a root of
\begin{align*}
F(T) := T^3-\lambda^2T^2+(a-2\lambda\nu)T+(b-\nu^2) \in k[T].
\end{align*}
The two known intersections $P$ and $Q$ give the two roots $x_1$ and $x_2$. Since $F$ is monic of degree three, there is a third root $x_R$ in $k$, counted with multiplicity, because after dividing by $(T-x_1)(T-x_2)$ the remaining factor is linear over $k$.
We write
\begin{align*}
F(T)=(T-x_1)(T-x_2)(T-x_R).
\end{align*}
Comparing the coefficient of $T^2$ gives
\begin{align*}
-(x_1+x_2+x_R)=-\lambda^2,
\end{align*}
so
\begin{align*}
x_R=\lambda^2-x_1-x_2.
\end{align*}
The third intersection point itself is
\begin{align*}
R=(x_R,\lambda x_R+\nu).
\end{align*}
The chord-and-tangent law defines the sum by reflecting this third point. First,
\begin{align*}
\iota(R)=(x_R,-\lambda x_R-\nu).
\end{align*}
Using $\nu=y_1-\lambda x_1$, we get
\begin{align*}
\iota(R)=(x_R,\lambda(x_1-x_R)-y_1).
\end{align*}
This is exactly the algebraic addition formula with $x_3=\lambda^2-x_1-x_2$ and $y_3=\lambda(x_1-x_3)-y_1$.
[/guided]
[/step]
[step:Compare roots for a nonvertical tangent]
Let $P=Q=(x_1,y_1)$ be affine with $y_1\ne 0$. Let $G: k^2 \to k$ be the polynomial function defined by $G(x,y)=y^2-x^3-ax-b$. The affine equation of $E$ is $G(x,y)=0$. Its formal first-order differential at $P$ is
\begin{align*}
dG_P(h_1,h_2)=2y_1h_2-(3x_1^2+a)h_1
\end{align*}
for $(h_1,h_2)\in k^2$. Since $E$ is nonsingular and $y_1\ne0$, the tangent line is therefore
\begin{align*}
2y_1(y-y_1)=(3x_1^2+a)(x-x_1).
\end{align*}
Since $\operatorname{char}(k)\ne 2$, the element $2y_1$ is nonzero, so the slope
\begin{align*}
\lambda=\frac{3x_1^2+a}{2y_1}
\end{align*}
is defined. With $\nu=y_1-\lambda x_1$, the affine tangent line at $P$ is the map $\ell: k \to k^2$ sending $t$ to $(t,\lambda t+\nu)$. Its projective closure has equation $Y=\lambda X+\nu Z$, so it does not contain $O=[0:1:0]$ because substituting $O$ gives $1=0$. Hence all intersections of this nonvertical tangent line with $E$ occur in the affine chart $Z\ne0$.
As in the secant case, intersections of this tangent line with $E$ are encoded by
\begin{align*}
F(T):=T^3-\lambda^2T^2+(a-2\lambda\nu)T+(b-\nu^2)\in k[T].
\end{align*}
Because the line is tangent at $P$, the root $x_1$ occurs with multiplicity at least two. Algebraically, this is verified by differentiating $F$:
\begin{align*}
F'(T)=3T^2-2\lambda^2T+(a-2\lambda\nu).
\end{align*}
Using $\nu=y_1-\lambda x_1$ and $2\lambda y_1=3x_1^2+a$, we obtain
\begin{align*}
F'(x_1)=3x_1^2-2\lambda^2x_1+a-2\lambda(y_1-\lambda x_1)=3x_1^2+a-2\lambda y_1=0.
\end{align*}
Thus
\begin{align*}
F(T)=(T-x_1)^2(T-x_R)
\end{align*}
for a uniquely determined $x_R\in k$. Comparing the coefficient of $T^2$ gives
\begin{align*}
2x_1+x_R=\lambda^2,
\end{align*}
hence
\begin{align*}
x_R=\lambda^2-2x_1.
\end{align*}
The third intersection point is $R=(x_R,\lambda x_R+\nu)$, so its reflection is initially $\iota(R)=(x_R,-\lambda x_R-\nu)$. Since $\nu=y_1-\lambda x_1$, this is
\begin{align*}
\iota(R)=(x_R,\lambda(x_1-x_R)-y_1).
\end{align*}
This is the algebraic doubling formula with $x_2=x_1$.
[guided]
The tangent case is the same coefficient-comparison idea as the secant case, but we must first justify why the point $P$ contributes a double root. Define $G: k^2 \to k$ by $G(x,y)=y^2-x^3-ax-b$, so the affine curve is cut out by $G=0$. The formal first-order differential at $P=(x_1,y_1)$ is
\begin{align*}
dG_P(h_1,h_2)=2y_1h_2-(3x_1^2+a)h_1.
\end{align*}
Because $y_1\ne0$ and $\operatorname{char}(k)\ne2$, the coefficient $2y_1$ is nonzero. Thus the tangent line is
\begin{align*}
2y_1(y-y_1)=(3x_1^2+a)(x-x_1),
\end{align*}
which has slope
\begin{align*}
\lambda=\frac{3x_1^2+a}{2y_1}.
\end{align*}
With $\nu=y_1-\lambda x_1$, the tangent line is the map $\ell: k\to k^2$ sending $t$ to $(t,\lambda t+\nu)$. Its projective closure is $Y=\lambda X+\nu Z$, which does not pass through $O=[0:1:0]$ because substituting $O$ gives $1=0$. Thus the affine substitution accounts for every intersection of the tangent line with $E$.
Substituting this line into the Weierstrass equation gives
\begin{align*}
F(T):=T^3-\lambda^2T^2+(a-2\lambda\nu)T+(b-\nu^2)\in k[T].
\end{align*}
Since $P$ lies on $E$, $F(x_1)=0$. To prove that the tangent contact gives multiplicity at least two, we also compute
\begin{align*}
F'(T)=3T^2-2\lambda^2T+(a-2\lambda\nu).
\end{align*}
Using $\nu=y_1-\lambda x_1$ and $2\lambda y_1=3x_1^2+a$, we get
\begin{align*}
F'(x_1)=3x_1^2-2\lambda^2x_1+a-2\lambda(y_1-\lambda x_1)=3x_1^2+a-2\lambda y_1=0.
\end{align*}
Therefore $x_1$ is a double root of $F$, so there is a unique $x_R\in k$ such that
\begin{align*}
F(T)=(T-x_1)^2(T-x_R).
\end{align*}
Comparing the coefficient of $T^2$ gives $2x_1+x_R=\lambda^2$, hence
\begin{align*}
x_R=\lambda^2-2x_1.
\end{align*}
The third point is $R=(x_R,\lambda x_R+\nu)$. Reflecting it gives $\iota(R)=(x_R,-\lambda x_R-\nu)$, and substituting $\nu=y_1-\lambda x_1$ gives
\begin{align*}
\iota(R)=(x_R,\lambda(x_1-x_R)-y_1).
\end{align*}
This is exactly the algebraic doubling formula.
[/guided]
[/step]
[step:Conclude that every geometric case matches the algebraic checklist]
The preceding steps cover all pairs $P,Q\in E(k)$. If one point is $O$, both constructions return the other point. If $P,Q$ are affine and $Q=-P$, both constructions return $O$. If $P,Q$ are affine, distinct, and not inverse to each other, the secant calculation gives the algebraic formula. If $P=Q$ is affine, then either $y_1=0$, in which case the vertical tangent gives $O$, or $y_1\ne0$, in which case the tangent calculation gives the algebraic doubling formula.
The nonsingularity hypothesis $4a^3+27b^2\ne0$ ensures that $E$ has a well-defined tangent line at every point of $E(k)$, so the geometric construction has no additional singular local case. Therefore the algebraic operation agrees with the geometric chord-and-tangent law for every pair of $k$-rational points on $E$.
[/step]