I don't have much experience in GAP, but I would be intersted in a
function that tests, if there is a homomorphism of a group, given as a
finite presentation, into a given symmetric or alternating group.
It seems to me that finding homomorphisms of s finitely presented group G
into the symmetric group of degree n is almost precisely equivalent to the
LowIndexSubgroupsFpGroup function. The call
LowIndexSubgroupsFpGroup( G, TrivialSubgroup(G), n )
returns a list of representatives of all conjugacy classes of subgroups of
G of index at most n. (In general, you get all subgroups that contain the
subgroup specified by the second argument.)
Then a conjugacy class of subgroups of G of index m, corresponds to
an equivalence class of homomorphisms from G to a transitive subgroup of
the symmetric group of degree m, where two homomorphisms are regarded as
equivalent if they are the same after renumbering the points being permuted.
To get the corresponding homomorphisms explicitly, I think you probably have
to use the CosetTableFpGroup (Todd-Coxeter) function.
Here is a complete example - homomorphisms of the Von Dyck 237-group into the
symmetric group of degree 10.
a := AbstractGenerator("a"); b := AbstractGenerator("b"); G237 := Group(a,b); G237.relators := [a^2, b^3, (a*b)^7 ]; sublist := LowIndexSubgroupsFpGroup( G237, TrivialSubgroup(G237), 10 ); imlist := ; for gp in sublist do ct := CosetTableFpGroup( G237, gp ); Add( imlist, List(ct,PermList) ); od;
After this, imlist contains 4 elements, corresponding to four equivalence
classes of homomorphisms. Each of these contains the images of the
generators and their inverses under that homomorphism. (The images are
respectively the trivial group, PSL(2,7) of degree 7 twice, PSL(2,8) of
degree 9, and PSL(2,7) of degree 8.)
[ [ (), (), (), () ], [ (3,4)(6,7), (3,4)(6,7), (1,2,3)(4,5,6), (1,3,2)(4,6,5) ], [ (3,4)(5,6), (3,4)(5,6), (1,2,3)(4,5,7), (1,3,2)(4,7,5) ], [ (2,3)(4,6)(5,7)(8,9), (2,3)(4,6)(5,7)(8,9), (1,2,4)(3,5,7)(6,8,9), (1,4,2)(3,7,5)(6,9,8) ], [ (1,2)(3,4)(5,6)(7,8), (1,2)(3,4)(5,6)(7,8), (2,3,5)(6,7,8), (2,5,3)(6,8,7) ] ]