A p-group contains subgroups of every order allowed by Lagrange’s Theorem

Let $p$ be a prime and let $G$ be a group of order $p^a$. Prove that $G$ has a subgroup of order $p^b$ for all $0 \leq b \leq a$. [Hint: Use Theorem 8 and induction.]

For the base case, suppose $|G| = p$. Then $1$ and $G$ are subgroups of order $1$ and $p$, respectively. Hence $G$ has a subgroup of order $p^b$ for all $0 \leq b \leq 1$.

For the inductive step, suppose that every group of order $p^a$, where $1 \leq a \leq n$, has a subgroup of order $p^b$ for all $0 \leq b \leq a$. Let $G$ be a group of order $p^{n+1}$. Now by Theorem 8 in D&F, $Z(G)$ is nontrivial. If $Z(G) = G$, then $G$ is abelian; let $H \leq G$ be a subgroup of order $p$ by Cauchy’s Theorem. If $Z(G) \neq G$, then $Z(G)$ is a proper nontrivial normal subgroup; let $H = Z(G)$. In either case, note that (by Lagrange’s Theorem) both $H$ and $G/H$ are groups of order $p^a$, with $1 \leq a \leq n$. Thus $H$ has a subgroup of order $p^b$ for all $p^b$ dividing $|H|$, as does $G/H$. By the Lattice Isomorphism Theorem, $G$ has a subgroup of order $p^b$ for all $0 \leq b \leq n+1$.