Dedekind group

Symbol-free definition
A group is termed a Dedekind group or Hamiltonian group if it satisfies the following equivalent conditions:


 * Every subgroup is normal.
 * Every cyclic subgroup is normal.
 * Every defining ingredient::inner automorphism is a defining ingredient::power automorphism.
 * The defining ingredient::normal closure of any singleton subset (or equivalently, the normal closure of the cyclic subgroup generated by any element) is a cyclic group.

The word Hamiltonian is reserved, by some mathematicians, for only non-abelian Dedekind groups.

Stronger properties

 * Abelian group:

Weaker properties

 * Stronger than::Group of nilpotency class two
 * Stronger than::Nilpotent group

Metaproperties
Using the fact that normality satisfies the intermediate subgroup condition, viz any normal subgroup of the whole group is also normal in every intermediate subgroup, we conclude that any subgroup of a Dedekind group is again a Dedekind group.

Using the fact that normality satisfies the image condition, viz the image of any normal subgroup via a quotient map is again a normal subgroup, we conclude that any quotient of a Dedekind group is again a Dedekind group.

A direct product of two Dedekind groups need not be Dedekind. One example is the direct product of the quaternion group and the cyclic group of order four.

Testing
There is no GAP command to directly test whether a group is a Dedekind group, but the following GAP code can be used to define a command:

IsDedekind := function(G) local H;	  for H in List(ConjugacyClassesSubgroups(G),Representative) do	       if not IsNormal(G,H) then return false; fi; od; return true; end;;