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);
works, but why are relators not written in the record describing g? I
know I can put the relators in explicitly by doing
Each ag word carries a pointer to a data structure <D> created by
'AgGroupFpGroup'. The right hand sides of all power-commutator
relations are stored in this data structure <D>, but in such a way that
they need less space for non-trivial entries than the relators in
abstract generators and no (extra) space for trivial entries.
Creating the presentation in abstract generators would require a vast
amount of space, 28 bytes for each trivial relator.
PS: To be precise: power-conjugates relations for single and tuple
collectors and power-commutator relations for combinatorial collectors
are stored in <D>.