A useful method to prove that two (finite) groups are nonisomorphic is to compare the number of elements of a given order. Of course, the converse is not always true. For example, let us consider Heisenberg group

H_p : = \left\{ \left( \begin{array}{ccc} 1 & a & b \\ 0 & 1 & c \\ 0 & 0 & 1 \end{array} \right) \mid a,b,c \in \mathbb{Z}_p \right\},

with p \geq 3 a prime number. Noticing that for all n \geq 0 and a,b,c \in \mathbb{Z}_p,

\left( \begin{array}{ccc} 1 & a & b \\ 0 & 1 & c \\ 0 & 0 & 1 \end{array} \right)^n = \left( \begin{array}{ccc} 1 & na & nb + \frac{n(n-1)}{2} ac \\ 0 & 1 & nc \\ 0 & 0 & 1 \end{array} \right),

we deduce that H_p is a group of order p^3 with p^3-1 elements of order p, as G_p :=\mathbb{Z}_p \times \mathbb{Z}_p \times \mathbb{Z}_p. However, G_p and H_p are not isomorphic: one is abelian and not the other.

Nevertheless, it turns out that considering the number of elements of any order is sufficient for finite abelian groups:

Main Theorem: If two finite abelian groups have the same number of elements for any order, then they are isomorphic.

In order to prove our main theorem, we first prove several classical lemmas, usually introduced to show the fundamental theorem of finite abelian groups.

If G is a finite abelian group and p is a prime number, we define the p-torsion of G by

G(p)= \{ g\in G \mid \mathrm{ord}(g) \ \text{is a power of} \ p \}.

It is straightforward to check that G(p) is a subgroup of G, and our first lemma shows that a finite abelian group is determined by its p-torsions.

Lemma 1: Let G be a finite abelian group. Then G \simeq \bigoplus\limits_{p \in \mathbb{P}} G(p).

Proof. Let g \in G and let n=p_1^{r_1} \dots p_m^{r_m} denote its order. Because \displaystyle \frac{n}{p_1^{r_1}}, \dots, \frac{n}{p_m^{r_m}} are coprime, there exist u_1, \dots, u_m \in \mathbb{Z} such that \displaystyle u_1 \frac{n}{p_1^{r_1}} + \dots + u_m \frac{n}{p_m^{r_m}} =1, hence

g = u_1 \underset{\in G(p_1)}{\underbrace{ \frac{n}{p_1^{r_1}} \cdot g }} +\dots + u_m \underset{\in G(p_m)}{ \underbrace{ \frac{n}{p_m^{r_m}} \cdot g }},

so G= G(p_1)+ \dots + G(p_m).

Let g \in G(p) \cap (G(p_1)+ \dots+G(p_r)) where p,p_1,\dots,p_r is a family of different primes. In particular, g=h_1+ \dots + h_r for some h_i \in G(p_i). Therefore, when n_1,\dots,n_r are large enough,

p_1^{n_1} \dots p_r^{n_r} \cdot g = 0,

so either p_1^{n_1} \dots p_r^{n_r} is divisible by p or g=0. Thus, G(p) \cap (G(p_1)+ \dots + G(p_r)=\{0\}.

Finally, we deduce that G= \bigoplus\limits_{p \in \mathbb{P}} G(p). \square

Afterward, we prove Cauchy’s theorem for abelian groups:

Lemma 2: Let G be a finite abelian group and p be a prime number. If p divides |G|, then G has an element of order p.

Proof. According to lemma 1, it is sufficient to prove that an abelian p-group has an element of order p. We prove it by induction on |G|. If |G|=p, then G is cyclic and there is nothing to prove. If |G|>p, either G has a nontrivial proper subgroup H or G is cyclic (and again there is nothing to prove). In the first case, we may apply our induction hypothesis to H to deduce that G has an element of order p. \square

Lemma 3: Let G be a finite abelian p-group. If G has only one subgroup H of order p then G is cyclic.

Proof. Let us prove lemma 3 by induction on |G|. If |G|=p then G is cyclic and there is nothing to prove. If |G|>p, let

\varphi : \left\{ \begin{array}{ccc} G & \to & G \\ g & \mapsto & pg \end{array} \right..

Because \mathrm{ker}(\varphi) is the set of  elements of G of order at most p, we deduce that \mathrm{ker}(\varphi)=H. In particular, \mathrm{ker}(\varphi) \neq \{0\} implies that | \varphi(G)| < |G| so that our induction hypothesis may be applied to \varphi(G): there exists an element g \in G generating \varphi(G).

Because \varphi(G) \simeq G/H, we deduce that \langle g \rangle +H=G. But \langle g \rangle cannot have more than one subgroup of order p, hence H \leq \langle g \rangle and finally G= \langle g \rangle. Therefore, G is cyclic. \square

Lemma 4: Let G be a finite abelian p-group and let C \leq G denote a cyclic subgroup of maximal order. Then G contains a subgroup H so that G= H \oplus C.

Proof. Let us prove lemma 4 by induction on |G|. If |G|=p, G=C and there is nothing to prove. More generally, if G is cyclic then G=C and there is nothing to prove, so, if |G|>p, we may suppose that G is not cyclic.

According to lemma 3, G has a subgroup K of order p that is different from the one contained in C. In particular, K \cap C= \{0\}, so C/K is a cyclic subgroup of maximal order in G/K, so that we may apply our induction hypothesis to G/K, and find a subgroup J \leq G/K satisfying

G/K=C/K \oplus J.

Let H denote the reciprocal image of J in G by the quotient map G \to G/K; in particular, J=H/K. Because K is a subgroup of H, G=C+H+K=C+H. Because (C/K) \cap (H/K) = \{0\} in G/K implies (C+K) \cap H=K in G, we deduce that C \cap H=C \cap K =\{0\}. Therefore, G= H \oplus C. \square

Proof of our theorem. Let G_1,G_2 be two finite abelian groups with the same number of elements of each order. According to lemma 1, we may suppose that they are p-groups for some prime p. If |G_1|=1, clearly G_1 \simeq \{0\} \simeq G_2.

Now suppose by induction that our theorem holds when one group has an order smaller than or equal to n and suppose that |G_1|=n+1. According to lemma 4, there exist H_1 \leq G_1, H_2 \leq G_2 and m \geq 1 such that G_1 \simeq H_1 \oplus \mathbb{Z}_m and G_2 \simeq H_2 \oplus \mathbb{Z}_m, where m is the highest order of an element of G_1 and G_2.

Applying our induction hypothesis, we deduce that H_1 \simeq H_2 hence G_1 \simeq G_2. \square

Therefore, our theorem is an easy consequence of lemma 4. It is worth noticing that the fact that any finite abelian group is a direct sum of cyclic groups is also an easy corollary of lemma 4.

We conclude with two corollaries:

Corollary 1: If G \oplus H \simeq K \oplus H then G \simeq K.

Corollary 2: If G \oplus G \simeq H \oplus H then G \simeq H.

They can be shown by induction on the cardinality and using the identity

\displaystyle n_k(G \oplus H)= n_k(G) \sum\limits_{j \mid k} n_j(H) + n_k(H) \sum\limits_{j \mid k} n_j(G) -n_k(G) n_k(H),

where n_k( \cdot) denotes the number of elements of order k in some p-group.

In fact, the two corollaries above are true for any finite groups.