Cancellation in finite groups

by David Radcliffe

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.


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.