As the title states, I want to prove that if $G$ is a group with no proper subgroups and order at least 2, then $G$ is cyclic with prime order. This has been proven before in here, but I want to know if my own proof and explanations are correct.
Proof: Since $|G|>1$, we know that $\exists g∈G :|g|>1$. Consider the subgroup $⟨g⟩⊆G$ which is cyclic by definition. Since $G$ has no proper subgroups, we must have $⟨g⟩=G$. It is now to be proven that $|g|=p$ with $p=$ prime. I will show it in two steps, both by contradiction (edit: as pointed out, they are really proofs by contraposition): 1) $$ is finite. 2) $||=$ with $=$ prime.
- Assume that $|g|=\infty$. Now, $g^2\in\langle g\rangle$ so $\langle g^2\rangle$ is a subgroup of $\langle g\rangle$. Because $g^{n} \notin\left\langle g^{2}\right\rangle$ whenever $n$ is odd, $\langle g^2\rangle$ is a proper subgroup of $\langle g\rangle$. This contradicts the assumption that $G$ has no proper subgroups, so $g$ must be finite.
- Define the order of $g$ by $n$ and assume that $n$ is not prime, i.e., $\exists d\in \mathbb{Z} :d|n$ with $1<d<n$. Because $g^d\in\langle g\rangle$, we know that $\langle g^d\rangle $ is a subgroup of $\langle g\rangle$. Additionally, a theorem tells us that $|g^d|=n/d<n$ so $\langle g^d\rangle$ is a proper subgroup of $\langle g\rangle$. This is again a contradiction, so $n$ must be prime.
Is my proof correct and sufficient?