I am a bit hesitant to ask this question, but here goes. We call an Abelian group $\textit{free}$ if it has some basis $\{e_i\mid i\in I\neq\emptyset\}$. Unlike vector spaces, not all (non-trivial) free Abelian groups have a basis. However, the following result does hold.
Theorem. Let $(F, +)$ be a free Abelian group. If $S$ is a subgroup of $F$, then $S$ is also free.
I have proven this result, and that $\operatorname{rank}(S)\leq \operatorname{rank}(F)$, on the assumption that $F$ has a finite basis.
In the more general case, the proofs of which I am aware use transfinite induction, Zorn's lemma, and some isomorphism theorems. Unfortunately, I have extremely limited experience with Zorn's lemma, and no exposure to transfinite induction and the classic group isomorphism theorems. This lack of knowledge is the motivation for this question.
Question: Is there a way to give a more "elementary" proof of the above theorem?
Probably some form of Zorn's lemma (or a bit weaker) is required. By "elementary", I mean that perhaps one can do without the transfinite induction and isomorphism theorems. Maybe some form of a proof by contradiction which utilises the finite version of the theorem to arrive at the contradiction. Or even try to construct the basis of $S$ by decomposing $S$ somehow into finite subgroups.
Any hope of success?