GroupsWithPropertyT/groups/higman.jl

50 lines
1020 B
Julia

module HigmanGroup
using AbstractAlgebra
using Groups
###############################################################################
#
# Generating set
#
###############################################################################
Comm(x,y) = x*y*x^-1*y^-1
function generatingset()
HigmanGr = Groups.FPGroup(["a","b","c","d"]);
a,b,c,d = gens(HigmanGr)
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!(HigmanGr, Dict(rel => HigmanGr() for rel in relations))
return HigmanGr, gens(HigmanGr)
end
function generatingset(parsed_args)
return generatingset()
end
###############################################################################
#
# Misc
#
###############################################################################
function groupname(parsed_args)
return groupname(), 0
end
groupname() = "HigmanGroup"
end # of module CapraceGroup