GroupsWithPropertyT/groups/higman.jl

25 lines
487 B
Julia

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