Prove that every proper subgroup of the group of all $2^n$-th roots of unity is finite. Find an abelian infinite group such that every proper subgroup is finite
I've seen the answer here but I'm really struggling to understand and prove it.
What I understand is that if I suppose that $H$ is infinite, then for all $n$, We can find $z$ such that $z$ generates $\Bbb{U_{2^p}}$ where $p > n$ (why?) and $\Bbb{U_{2^n}}$ is in $\Bbb{U_{2^p}}$
Can someone explain it a bit more?
 A: Think of a pizza. Cut it in half. Those endpoints of the diameter are the square roots of unity. Cut the halves in half. Those endpoints are the additional (primitive) $4$th roots of unity, although the previous points are also $4$th roots of unity. Cut those $4$ pieces in half to produce $4$ additional (again, primitive) $8$th roots of unity, but all the previous $4$ were also $8$th roots of unity. Et cetera.
In summary, all square roots of unity are $4$th roots of unity, which are themselves $8$th roots of unity, etc.
Why? If $z^2 = 1$, then $z^4 = (z^2)^2 = 1^2 = 1$, and $z^8 = (z^4)^2 = 1^2 = 1$, etc.
In general, if $p>n$, then a root of unity $z$ of order $2^n$ is automatically a root of unity of order $2^p$ by the same calculation:
$$
z^{2^p} = \bigl( z^{2^n} \bigr)^{2^{p-n}} = 1^{2^{p-n}} = 1,  
$$
which is meaningful because $p-n>0$.
Aside. This fact is even more general (but not useful in this particular exercise): If $m$ and $n$ are naturals and $m \mid n$, then an $m$th root of unity is automatically an $n$th root of unity. Why? Write $n = mk$ for some $k \in \mathbb{N}$. Then,
$$
z^n = z^{mk} = \bigl( z^m \bigr)^k = 1^k = 1.
$$
