> < ^ Date: Wed, 03 Mar 1993 17:08:39 +0100
> < ^ From: Andreas Caranti <caranti@science.unitn.it >
> ^ Subject: AgGroups

Dear gap-forum,
consider the following piece of GAP code:

ElAb := function (p)
local a, b, g;
a := AbstractGenerator("a"); b := AbstractGenerator("b");
g := rec(
   generators := [a, b],
   relators := [a^p, b^p]
);
return AgGroupFpGroup (g);
end;

Now I do

gap> g := ElAb (2);
gap> RecFields(g);
[ "generators", "identity", "isDomain", "isGroup", "isAgGroup", "cgs",
  "operations", "1", "2" ]

No relators are stored in the record. GAP knows how to compute with
the group g, which is a Klein four-group as expected, so

gap> Comm(g.1, g.2);
IdAgWord

works, but why are relators not written in the record describing g? I
know I can put the relators in explicitly by doing

ElAb := function (p)
local a, b, g, h;
a := AbstractGenerator("a"); b := AbstractGenerator("b");
g := rec(
   generators := [a, b],
   relators := [a^p, b^p, Comm(a, b)]
);
h := AgGroupFpGroup(g);
h.relators := g.relators;
return h;
end;

but this of course would not work when making use of the feature of
omitting trivial commutator relators, as in the first version of ElAb.
So my question is: why exactly are relators not (completed and) copied
in these circumstances?

Thank you very much in advance, yours

A Caranti

---------------------------------------------------------------------
A Caranti                                 Tel ++39 461 881618
Dipartimento di Matematica                Fax ++39 461 881624
Universita' degli Studi di Trento
I-38050 Povo (Trento)                     caranti@volterra.cineca.it
Italia                                    (preferred email address. Also:)
                                          caranti@itnsp2.cineca.it
                                          caranti@itncisca.bitnet
Tel ++39 461 916087 (home)

> < [top]