finite abelian group theorem