Прочитал про группу тетраэдра

. Понял, что группы могут быть устроены значительно сложнее, чем мне показалось поначалу. Граф группы:

Видно, что как ни крути и в какие степени не возводи, поменять местами элементы

и

в произведении

не получится. Всё из-за соотношения

. Это приводит к тому, что элементы группы нельзя представить в универсальном виде

, как это можно сделать, например, в любой диэдральной группе. Или в группе, получаемой косым произведением любого количества циклических групп.
Теперь я для себя имею такую классификацию групп по степени "запущенности":
1) абелевы группы, где любые два элемента коммутируют:

2) неабелевы "слоистые" группы, где любые две образующие коммутируют со степенью:

(что происходит с произвольными двумя элементами ещё не проверял). В таких группах любой элемент можно представить как упорядоченное произведение образующих в нужных степенях:

Слоистыми такие группы являются потому, что их можно разбить на слои, соответствующие одной или нескольким образующим. Умножение на эти внутренние образующие не выводит из слоя. А умножение на другие образующие переводит весь слой в какой-нибудь другой слой, так как они все одинакового размера. В группе тетраэдра

такого нет.
3) все остальные группы.
-- 18.02.2020, 14:32 --В приведённом мной ранее алгоритме есть
ошибка, которую я выделил жирным:
То есть, вот, например, есть группа G. Все её элементы известны, и мы знаем, как их друг на друга умножать. Тогда действуем по следующему плану.
1) Выбираем элемент группы с наибольшим рангом. Пусть это будет

. Этот элемент порождает в группе G некоторую циклическую подгруппу

(Здесь верхний индекс у символа "C" означает порядковый номер, а не ранг группы). Если

, то наша задача выполнена. В противном случае полагаем

и переходим к пункту 2).
2) Поскольку

, то в множестве

есть элементы. Опять возьмём элемент

с наибольшим рангом.
3) Этот элемент опять порождает в группе G некоторую циклическую подгруппу

. Будем рассматривать все элементы

этой подгруппы и все правые смежные классы

. Эти классы не пересекаются,
а их объединение даёт новую подгруппу 
в группе G.
4) Если

, то наша задача закончена. В противном случае полагаем

и переходим к пункту 2).
Теперь я понимаю, почему при построении группы по системе образующих с определяющими соотношениями используется такой, на первый взгляд, мутный алгоритм:
1) строим все возможные произведения (строки произвольной длины) из образующих и их обратных (в случае конечных групп можно не брать обратные, но заранее не угадаешь);
2) с помощью соотношений между образующими строим классы эквивалентности строк (путём замены/удаления подстрок), которые и называем элементами группы.
Всё из-за отсутствия "слабой" коммутативности образующих со степенью:

.
В связи с этим в моём алгоритме пункт 3), цель которого построить по заданному элементу

и подгруппе

новую расширенную подгруппу, надо поправить следующим образом. Надо рассматривать последовательность множеств

и так далее до тех пор, пока элементы этих множеств будут давать какие-нибудь новые, ещё не рассмотренные элементы. Объединение всех этих элементов и будет новой, расширенной подгруппой

.
В связи с этим возникает интересная с точки зрения программирования задача: по групповым соотношениям построить группу (с её таблицей умножения) и посчитать число элементов в ней. В частности, в процессе ещё должен решать вопрос о совместности этих соотношений.