In message <9402011809.AA09333@medved.bowdoin.edu> you write:
>Dear Gap-forum,
>
>If I have a group with three generators
>
>gap> g := FreeGroup(3,"g");
>
>and the relations
>
>gap> g.relators := [g.1*g.2*g.3];
>
>and I simplify the presentation
>
>gap> h := SimplifiedFpGroup(g);
>
>then GAP tells me that there are two generators, and no relations.
>
>gap> h.generators;
>[ g.1, g.2 ]
>
>gap> h.relators;
>[ IdWord ]
>
>I have four questions:
> 1) How can I find an expression for the generator
> g.3 in terms of g.1 and g.2? (In practice, there might be 20 relators;
> this is just a simple example.)

The transformation which GAP has made in this case is the obvious one:

g.1*g.2*g.3 = 1 => g.3 = (g.1*g.2)^-1

After it makes this assumption, it no longer needs either g.3 or the relator.
Thus, you have taken a 3 generator group with 1 relator and turned it into
the free group on 2 generators.

2) How can I tell if an expression is the identity? e.g. g.1*g.2*g.3
(Well, this is the word problem, so can I control the time
that GAP devotes to this question - i.e. if more than 30
seconds, then return "unknown".)

I think you made this problem much harder than it needed to be.

3) Similarly, can I ask for Size(g) to return "unknown" if it has
to spend more than 30 seconds on it (or perhaps 10M of memory
instead of time).?

A free group is going to be of infinite order so you would expect the
error response you got in number 4 below.

4) I asked for the size of h, and got the following. Is this a bug
or a feature?