This is a question about rewriting systems & languages for finite groups. I'm sure everything must be in the literature somewhere, but I find it hard to navigate the references I have (for example Holt–Rees–Rover's Groups, languages and automata) probably because the focus is always on difficult, infinite groups — I think my questions are brushed aside because they are considered trivial. Or perhaps the issue is that most results focus on what is feasible at all (and for finite groups everything is in principle feasible), when my questions are more about efficiency.
So suppose you have a presentation by generators and relations for a finite group $G$.
- Is there always a nice theory of "normal forms" for the elements of $G$? or does it depend on the presentation?
- assuming we do have normal forms, is it always possible to compute efficiently the normal form of a given element? By "efficiently" I mean NOT something like "consider the automaton whose underlying graph is the Cayley graph…", because if $G$ is very large, this graph/automaton is not practical. (This would be what people call a rewriting system, right?)
Failing that, it would be very nice to be able to compute for each element of $G$ a representative word of bounded length, where the bound can be found explicitly and is not too bad.
As the answers may very well depend on the presentation, I'd like to add a side question:
- suppose $G$ is given explicitly, say as a permutation group generated by given permutations. What is the (current) best algorithm to compute a presentation for $G$? I mean either using the given generators, or perhaps, as a variant, allowing the addition of extra generators (in order to obtain a better presentation, in whatever sense).
I find it surprising that (3) is not discussed much in the references I have on computer algebra (there is an algorithm in Butler's old book). Also with GAP you cannot find a presentation for a group "by pressing a button", which I find again surprising, given how useful it can be, if only for reasons of pedagogy with very small groups.
IsomorphismFpGroup
$\endgroup$IsomorphismFpGroupByGenerators
. Anyway, I recommend you take a look at the Handbook of Computational Group Theory by Holt et al, and at the book "Permutation group algorithms" by Seress $\endgroup$