The function takes as input two groups and outputs a Boolean variable.
The function behaves as follows:
- If the two group are subgroups of a common big group, and the second subgroup is a contranormal subgroup in the subgroup generated by it and any conjugate of it by an element of the first group, the function returns true.
- If the two groups are subgroups of a common big group, and the above condition is violated ,the function returns false
- If the two arguments provided are not groups, or if they are not subgroups of a common big group, GAP returns a NoMethodFound error.
IsParanormal := function(G,H) local K, g; for g in Set(G) do K := Group(Union(H,H^g)); if (not NormalClosure(K,H) = K) then return false; fi; od; return true; end;;