### Cancellation in finite groups

In this note, I will state a proof of the following theorem: If $A,\ B,\ C$ are finite groups, and if $A \times B$ is isomorphic to $A \times C$, then $B$ is isomorphic to $C$.

Let $h(X,Y)$ be the number of homomorphisms from $X$ to $Y$, and let $m(X,Y)$ be the number of monomorphisms from $X$ to $Y$.

If $D$ is a finite group then

$h(D,A\times B)=h(D,A)\cdot h(D,B)$ and
$h(D,A\times C)=h(D,A)\cdot h(D,C)$.

But $h(D,A\times B)=h(D,A\times C)$ since $A\times B$ and $A\times C$ are isomorphic. Therefore $h(D,A)\cdot h(D,B) = h(D,A)\cdot h(D,C)$. Dividing both sides by $h(D,A)$ yields $h(D,B)=h(D,C)$.

I claim that $m(D,B)=m(D,C)$ for every finite group $D$. The proof is by induction on the order of $D$. If $D$ has order 1 then $m(D,B)=1$ and $m(D,C)=1$, so the equality holds.

Suppose that $m(E,B)=m(E,C)$ for every group $E$ of order less than $n$, and let $D$ be a group of order $n$.

Then

$h(D,B) = m(D,B) + \sum_K m(D/K,B)$ and

$h(D,C) = m(D,C) + \sum_K m(D/K,C),$

where $K$ ranges over all nontrivial normal subgroups of $D$. But $h(D,B)=h(D,C)$ by the preceding argument, and $m(D/K,B)=m(D/K,C)$ by the induction hypothesis. Therefore $m(D,B)=m(D,C)$.

Setting $D=B$ and $D=C$ in the above yields $m(B,C)=m(B,B)\geq 1$ and $m(C,B)=m(C,C)\geq 1$. Thus there exist monomorphisms $B\rightarrow C$ and $C\rightarrow B$. Since $B$ and $C$ are finite, this implies that $B$ and $C$ are isomorphic. QED.

I am very fond of this theorem because it was a key lemma in my doctoral dissertation. I learned of this argument from Fred Galvin, but I do not know if it was original to him.

The theorem would be false if the word ‘finite’ were omitted. For example, if A is a free abelian group of infinite rank, B is an infinite cyclic group, and C is the trivial group, then $A\times B$ and $A \times C$ are both isomorphic to A, but B and C are not isomorphic to each other.