GAP:IsPolynormal

Function type
The function takes as input two arguments, both of which are groups, and outputs a boolean variable.

Behavior

 * The function returns true if the two groups are subgroups of a common big group, and the second group is a contranormal subgroup in its closure under the action by conjugation by the cyclic subgroup generated by any element of the first group.
 * The function returns false if the two groups are subgroups of a common big group, and the above condition is violated.
 * If the two groups are not subgroups of a common big group, or if the arguments provided are not groups, the function returns a NoMethodFound error.

Related functions

 * GAP:IsPronormal
 * GAP:IsParanormal

Code
IsPolynormal := function(G,H) local K,g; for g in Set(G) do	   K := NormalClosure(Group(g),H); if (not NormalClosure(K,H) = K) then return false; fi; od; return true; end;;