GAP:IsAbnormal

Function type
This function takes as input a pair of two groups, both of which have a common parent group, and returns a Boolean variable (true/false).

Behavior
Suppose the first group is $$G$$ and the second group is $$H$$.


 * If, for every $$g \in G$$, $$g$$ is in the subgroup generated by $$H$$ and the conjugate $$g^{-1}Hg = H^g$$, the function returns true. In particular, if $$H \le G$$, the function returns true if $$H$$ is an abnormal subgroup of $$G$$.
 * If there exists $$g \in G$$ such that $$g$$ is not in the subgroup generated by $$H$$ and $$H^g$$, the function returns false. In particular, if $$H$$ is a subgroup of $$G$$ that is not abnormal in $$G$$, the function returns false.

Typical use
IsAbnormal(group,subgroup);

Code
IsAbnormal := function(G,H) return(ForAll(Set(G),g-> g in Group(Union(H,H^g)))); end;;