struct HigmanGroup <: GAPGroup end name(G::HigmanGroup) = "HigmanGroup" function group(G::HigmanGroup) higman_group = Groups.FPGroup(["a","b","c","d"]); a,b,c,d = gens(higman_group) relations = [ b*Comm(b,a), c*Comm(c,b), d*Comm(d,c), a*Comm(a,d) ]; relations = [relations; [inv(rel) for rel in relations]] Groups.add_rels!(higman_group, Dict(rel => higman_group() for rel in relations)) return higman_group end