Now given a subgroup of for we can study the cosets of in . Since for either or the group is a disjoint union of cosets and the number of different cosets is called the index of in . We know that if is generated by a set the index of in is the same as the index of the subgroup generated by in . While it is undecidable whether a subgroup has finite index in a group, coset enumeration attempts to verify whether the index is finite by enumerating (potential) cosets and their multiplication table. Detailed descriptions of TC procedures can be found e. g. in [16,1,8,3,15].
In [11] Procedure 1 (see page ) was presented which simulates the Todd-Coxeter procedure to enumerate cosets using th ecomputation of prefix Gröbner bases in free group rings (see [7]). Besides the sets and which contain the encoded relators and subgroup relators, respectively, we have three sets. First of all, which contains the potential coset representatives of the subgroup generated. Next, which represents the multiplication table obtained so far and is used to decide whether or not elements of are indeed coset representatives or not. The set serves as a test set for possible coset representatives. Elements from this set which are not prefix reducible are added to the set during the enumeration process. A detailed description of the meaning of the sets and of the procedure can be found in [11].
While this approach is based on the idea of computing the index of the subgroup generated by in and hence uses Gröbner basis techniques in , a splitting of the relations can lead to new enumeration procedures . For where either is complete or can be finitely completed to , let be the group presented by , respectively . Then in a similar fashion we can try to compute the index of the subgroup generated by in which is of course again . The resulting procedure is nearly identical with the original procedure extended_todd_coxeter_simulation on input and except that now the computation takes place in and we have to be more careful in choosing to ensure fairness.
In [10] the possibility of moving relators from the set of relators generating the group to the free group was studied. Let the free group be given as , were . Let the relators be given by . If one of the relators has the form then we can remove this relator from and add it to . The latter is then completed with respect to the ordering required using the Knuth-Bendix completion procedure which is this case is always terminating. We thus get the completed set of rules and . Using these we can perform coset enumeration as before. Other relators, too, can be moved provided a finite and convergent presentation for the underlying group exists.
The original procedure extended_todd_coxeter_simulation was implemented in MRC 1.2 (see [13]) and examples known from the literature (see [1,3]) were computed. Soon it was clear that the original version is far too slow to be of any use except for very small examples. This is not surprising as the Gröbner basis computation which is performed after each new coset element added is quite costly (see also Section 3.3 for a comparison to known methods for coset enumeration).
Thus, different frameworks and strategies have been developed in order to find out whether the coset enumeration process described is useful compared to currently known procedures and strategies. Due to implementational reasons time and space requirements are much higher for our implementation compared to available implementations of the Todd-Coxeter-procedure. First of all, in MRC 1.2 cosets are represented by words, not by numbers, which requires more space for large examples. Second, the coefficients are elements of while they can take the values only. Third, since MRC 1.2 handles polynomials, we are encoding relators as polynomials while using binomials would be sufficient. Changing the domain of the coefficients and using binomials reduced time and space requirements drastically.
However, more important to us is whether our system can compete with respect to the crucial numbers of Todd-Coxeter-Enumeration: the maximal number of cosets defined during the enumeration process and the total number of cosets defined. Since the enumeration is performed in a different algebraic structure, new parameters play an important role and might help to study cosets from a different point of view.
All frameworks and strategies presented here can as well be used for monoids as for free and general groups (compare [9]).