Normality testing problem

Definition
The normality testing problem refers to a general class of problems where a group is specified using a suitable group description rule, a subgroup is specified using a suitable subgroup description rule, and we need to determine whether the subgroup is a normal subgroup of the whole group.

Separate testing for being a subgroup
The version discussed here will assume that we are given a guarantee that the subgroup is indeed a subgroup of the group, so that we do not need to verify that. Another version of the problem simply specifies the group and the (alleged) subgroup using subgroup description rules inside a bigger group. The normality testing problem in this case splits into two parts: first, verify that the subgroup is indeed a subgroup (this reduces to the subgroup testing problem), and second, verify normality conditional to being a subgroup.

Proof version of the problem
A proof version of the problem asks, in case the subgroup is not normal for an explicit choice of element from the group and element from the subgroup such that the corresponding conjugate is not in the subgroup.

Problems solved using this problem

 * Normal closure-finding problem: This problem asks for a generating set for the normal closure of $$H$$ in $$G$$. Normal closure-finding can be solved using the normality testing problem, by expanding the group each time by throwing in a new conjugate. Since the size of the subgroup generated each time increases by a factor of at least $$2$$, the number of iterations of the algorithm is at most the logarithm of the index of the subgroup.
 * Subnormality testing problem: This relies in turn on normal closure-finding

Black-box group algorithms
These work for a group specified by means of an encoding. However, the algorithms require only the use of the group multiplication algorithm and do not require the membership test, inverse map, or identity element algorithms, so they work for "encodings" that only have the group multiplication algorithm incorporated.

Permutation group algorithms

 * Generating set-based permutation group algorithm for normality testing