I'm trying to prove that the converse of Lagrange's theorem is true for finite abelian groups (i.e. "given an abelian group $G$ of order $m$, for all positive divisors $n$ of $m$, $G$ has a subgroup of order $n$"). This is an exercise from a book, and it is in the section on finite abelian groups, so I know I have to use the fundamental theorem of finite abelian groups. I have come up with a proof, but it seems a bit messy, and I'm not entirely sure if it's correct. It is given below.
Let the order of $G$ be $m$ = $p_1^{\alpha_1} \ldots p_k^{\alpha_k}$. It is known that $G$ is a direct product of $p$-groups, say:
$$G = G_1 \times \ldots \times G_k$$
where each $G_i$ is a $p_i$-group. By the fundamental theorem of finite abelian groups, each $G_i$ is isomorphic to a direct product of cyclic groups of the form
$$\mathbb{Z}_{{p_i}^{\beta_1}} \times \ldots \times \mathbb{Z}_{{p_i}^{\beta_l}},$$
where $\beta_1, \ldots, \beta_l$ are positive integers such that $\sum_{j=1}^l \beta_j = \alpha_i$. Now if $n$ divides $m$, then we must have
$$n = p_1^{\gamma_1} \ldots p_k^{\gamma_k}$$
for some $\gamma_1, \ldots, \gamma_k$ with $0 \leq \gamma_i \leq \alpha_i$.
Claim: Each $G_i$ has a subgroup of order $p_i^{\gamma_i}$
Proof: As above, we have that
$$ G_i \cong \mathbb{Z}_{{p_i}^{\beta_1}} \times \ldots \times \mathbb{Z}_{{p_i}^{\beta_l}} $$
where $\beta_1, \ldots, \beta_l$ are positive integers such that $\sum_{j=1}^l \beta_j = \alpha_i$.
Now since $0 \leq \gamma_i \leq \alpha_i$, we can find $l$ numbers $\delta_1, \ldots , \delta_l$ such that $\gamma_i = \sum_{j=1}^l \delta_j$, and $0 \leq \delta_j \leq \beta_j$. (This choice of numbers is not necessarily unique).
Then $p_i^{\delta_j} | p_i^{\beta_j}$ for each $j = 1, \ldots , l$. Hence, for each factor $\mathbb{Z}_{{p_i}^{\beta_j}}$, there exists a subgroup of order $p_i^{\delta_j}$, namely $\mathbb{Z}_{{p_i}^{\delta_j}}$ (using the fact that the converse of Lagrange's theorem is true for finite cyclic groups). Taking the direct product of each of these subgroups, we get a new subgroup $G_i'$ of $G_i$:
$$G_i' \cong \mathbb{Z}_{{p_i}^{\delta_1}} \times \ldots \times \mathbb{Z}_{{p_i}^{\delta_l}}$$
The order of this subgroup is $p_i^{\delta_1} \times \ldots \times p_i^{\delta_l} = p_i^{\delta_1 + \ldots + \delta_l} = p_i^{\gamma_i} $. So we have found a subgroup of $G_i$ of order $p_i^{\gamma_i}$, as required.
So each factor $G_i$ in the product $G = G_1 \times \ldots \times G_k$ has a subgroup $G_i'$ of order $p_i^{\gamma_i}$.
Therefore, $G$ has a subgroup $$G_1' \times G_2' \times \ldots \times G_k'$$
of order $p_1^{\gamma_i}...p_k^{\gamma_k} = n$, which completes the proof.
I have two questions about this: firstly, does this proof seem to work? Secondly, is there a way to make the proof more concise (e.g. a way to prove the statement without using all these indices)?