Let $A, B, C$ be finite abelian groups such that $A\oplus B\cong A\oplus C$. Then $B\cong C$. $(*)$
Is there an elementary proof for the result $(*)$ above?
All the proofs that I have seen thus far either use results which require $(*)$ to be proven (and thus making a circular argument), or they use advanced concepts and theorems, which make the proof appear like magic, with no or little intuition for why $(*)$ is true.
I don't mind the length or the difficulty, as long as it's elementary (without using theorems like: the fundemntal theorem of abelian groups or Krull-Remak-Schmidt theorem).
Here's a completely elementary proof.
It goes as follows :
The isomorphism implies a bijection and thus an equality of cardinals : $|B| = |C|$. It thus suffices to prove that there exists an injective morphism $B\to C$
Letting $I(G,H)$ denote the set of injective morphisms $G\to H$, $i(G,H)$ its cardinal, it suffices to show that $i(B,C) \geq 1$. Knowing that $i(B,B) \geq 1$, it thus suffices to show $i(B,B) = i(B,C)$.
Let $\hom(G,H)$ denote the set of group morphisms from $G\to H$ and $h(G,H)$ its cardinal. We have, for all groups $G$, $\hom(G,A\oplus B) \cong \hom(G,A)\times \hom(G,B)$ (this is a classical property of the direct sum, I advise you to make sure you understand it).
Since for all $G, \hom(G,A) \neq \emptyset$ (there's always the trivial morphism), for any group $G$, we have $h(G,A\oplus B) = h(G,A)h(G,B)$, $h(G,A\oplus C) = h(G,A)h(G,C)$ and $A\oplus C\cong A\oplus B$ implies $h(G,A\oplus B) = h(G,A\oplus C)$, so that for all $G$, $h(G,B) = h(G,C)$.
Let $G,K$ be a arbitrary groups. Then $\hom(G,K)= \bigsqcup_{H\triangleleft G}\{f: G\to K\mid \ker(f) = H\}$ and so $\hom(G,K)\cong \bigsqcup_{H\triangleleft G}I(G/H,K)$ (a morphism $G\to K$ with kernel $H$ corresponds precisely to an injective morphism $G/H\to K$)
Therefore $h(G,K) = \sum_{H\triangleleft G}i(G/H,K)$ by taking cardinalities.
One may thus prove, by induction on $|G|$, that if $h(G,K)= h(G,L)$ for all finite $G$ ($K,L$ fixed finite groups), then for all finite $G$, $i(G,K) = i(G,L)$ (Proof : assume $i(G,K) = i(G,L)$ for all $G$ of cardinality $<n$ and let $G$ have cardinality $n$. Then for all $\{1\}\neq H\triangleleft G$, $G/H$ has cardinality $<n$ and so $i(G/H,K) = i(G/H,L)$ by induction hypothesis. Since we also have $h(G,K) = h(G,L)$ by hypothesis, substracting things in the previous equality yields $i(G,K) = i(G,L)$)
We conclude : By the $4$th point, $h(G,B) = h(G,C)$ for all finite groups $G$, so that by the previous point $i(G,B) = i(G,C)$ for all $G$. Apply this to $G= B$ and we get $i(B,B) = i(B,C)$, which is enough by the $2$nd point.