Four torsion subgroups I have started to solve some problems on Elliptic Curves, and I am stuck on a very simple exercise: https://math.mit.edu/classes/18.783/2022/ProblemSet1.pdf
In "Problem 4. Four torsion subgroups (32 points)", I can't handle the first two parts, and yet I didn't spend time on other parts of the 4th problem:
(a) Prove that $P\in E(\bar{k})$ has order $2$ if and only if $P=(x_0,0)$ with $f(x_0)=0$.  Conclude that $E[2]\simeq \mathbb{Z}/2\mathbb{Z}\oplus \mathbb{Z}/2\mathbb{Z}$ and $E[2^r]\simeq \mathbb{Z}/2^r\mathbb{Z}\oplus \mathbb{Z}/2^r\mathbb{Z}$ for all $r\ge 1$.
Part (b): Let $Q=(x_0,0)\in E(\bar k)$ and let $P=(u,v)\in E(\bar k)$. Prove that $2P=Q$ if and only if we have $f'(x_0)=(u-x_0)^2$.
My main problem is about part (b).
My attempts:
Part (a): I can show the necessary and sufficient criteria about points of order 2. Also I can prove the statement about the group structure of $E[2]\simeq \mathbb{Z}/2\mathbb{Z}\oplus \mathbb{Z}/2\mathbb{Z}$, in two ways. The first way is a purely algebraic manipulations. For the second way I have used the fact that "an elliptic curve over the complex numbers is obtained as a quotient of the complex plane by a lattice $\Lambda$", and using this fact I can also prove $E[2^r]\simeq \mathbb{Z}/2^r\mathbb{Z}\oplus \mathbb{Z}/2^r\mathbb{Z}$, but this fact doesn't covered in the first three lectures. Is there another way to prove it without using this fact?
Part (b): If we assume $2P=Q$, then the tangent line at $P=(u,v)\in E(\bar k)$ goes through $-Q=(x_0,0)\in E(\bar k)$, and its slope is $(y-v)/(x-u)=\lambda=f'(u)/2v=(3u^2+A)/2v$. Then
$$0=x^3+Ax+B-y^2=x^3+Ax+B-(\lambda(x-u)+v)^2$$
and by considering the coefficient of $x^2$, we find that $x_0+2u=\lambda^2=(f'(u)/2v)^2$, and from here on I got stuck in a huge amount of pointless calculations.
 A: I will use $a$ instead of $x_0$, it is simpler to type...
So consider $P=(u,v)$, a point on the curve $E$, which in loc. cit. is
in short Weierstraß form
$$
E\ :\ 
Y^2 =\underbrace{X^3 +AX + B}_{f(X)}
\ .
$$

Assume $2P=Q=(a,0)$ first. The tangent to the curve in $P$ passes through $-Q=Q=(a,0)$. Which is equation of the tangent in $P$? We formally differentiate $Y^2 =X^3 + AX + B$, to get $2Y\; dY = (3X^2+A)\; dX$, and take this linearization in $P=(u,v)$, so
$$
\color{blue}{2v(Y-v) = (3u^2+A)(X-u)}\ .
$$
We plug in $(X,Y)=(a,0)=\pm Q$, a point on the line, and obtain:
$$
-2f(u)=-2v^2=\color{blue}{2v(0-v)=(3u^2+A)(a-u)}\ .
$$
Recall now that $Q=(a,0)$ is a two-torsion point, so $a$ is a root of $f(X)$, so we can write $$f(X)=(X-a)g(X)$$ with $g(X)=X^2 +aX +(a^2+A)$, the quotient from the division (with (no) rest) of $f(X)$ by $(X-a)$.
So we can "improve" the information from $(*)$ to get an equation of degree two joining $u,a$, exactly the kind of information required in the text:
$$
\begin{aligned}
2g(u)(u-a) &=2f(u)=(3u^2+A)(u-a)\ ,\\
2(u^2+au+(a^2+A)) = 2g(u) &=2f(u)=(3u^2+A)\ ,\\
3a^2+A&=u^2-2au+a^2\ ,\\
f'(a) &= (u-a)^2\ .
\end{aligned}
$$

For the other direction, start with the end of the above computation...
A: The other answer has done a good job with part (b), so let me say a few words about part (a).
Once you prove the first sentence of the problem, you can finish without drawing on your extra fact as follows. First, observe that any point of the form $(x_0,0)$ has vertical tangent and is therefore of order 2, so all points in $E[2]$ are of order 2 and thus $E[2]\cong\Bbb Z/2\oplus\Bbb Z/2$. Now consider the doubling map $2:E\to E$: this is a 4-to-1 map by our work in the first sentence. Therefore the restriction to $2:E[4]\to E[2]$ demonstrates that $|E[4]|=4|E[2]|=16$, and the preimage of any point $P$ in $E[2]$ is of the form $Q+(\Bbb Z/2\oplus\Bbb Z/2)$ for some $Q\mapsto P$. This means we can find 12 elements of order 4, 3 elements of order 2, and 1 element of order 1 in $E[4]$, showing $E[4]\cong \Bbb Z/4\oplus\Bbb Z/4$. An inductive application of this argument shows $E[2^r]\cong\Bbb Z/2^r\oplus\Bbb Z/2^r$.
