struct HigmanGroup <: GAPGroup args::Dict{String,Any} 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^-1*Comm(b,a), c^-1*Comm(c,b), d^-1*Comm(d,c), a^-1*Comm(a,d) ]; relations = [relations; [inv(rel) for rel in relations]] Groups.add_rels!(higman_group, Dict(rel => HigmanGr() for rel in relations)) return higman_group end