# S_3 as dihedral group: f := FreeGroup("a","b"); a := f.1;; b := f.2;; rels := [a^2,b^3,a*b*a*b]; g := f/rels; Size(g); Elements(g); d := DerivedSubgroup(g); Size(d); iso := IsomorphismFpGroup(d); dd := Image(iso); RelatorsOfFpGroup(dd); Index(g,d); q := g/d; Size(q); iso := IsomorphismFpGroup(q); qq := Image(iso); RelatorsOfFpGroup(qq); # A bigger example: f := FreeGroup("a","b"); a := f.1;; b := f.2;; rels := [a^2,b^3,(a*b)^11,Comm(a,b)^6,(a*b*a*b*a*b^-1)^6]; g := f/rels; Size(g); iso := IsomorphismPermGroup(g); p := Image(iso); DisplayCompositionSeries(p); IsSimple(p); # Even worse: f := FreeGroup("a","b","c","d"); a := f.1;; b := f.2;; c := f.3;; d := f.4;; rels := [a^2,b^3,a*b*a*b,a*c*a/d,a*d*a/c,b*c*b^2*d,b*d*b^2/(c/d),Comm(c,d)]; g := f/rels; Size(g); # this is not going to work AbelianInvariants(g); l := LowIndexSubgroupsFpGroup(g,6); List(l,AbelianInvariants);