FreeGroup( n ) 
FreeGroup( n, string ) 
FreeGroup( name1, name2.. )
FreeGroup returns the free group on n generators.  The generators are
displayed   as   string.1,  string.2,  ...,  string.n.   If
string is missing it defaults to "f".  If string is  the name  of
the variable that you use to refer to  the group  returned by FreeGroup
you can also enter the generators as string.i.
    gap> F2 := FreeGroup( 2, "A5" );;
    gap> A5 := F2 / [ F2.1^2, F2.2^3, (F2.1*F2.2)^5 ];
    Group( A5.1, A5.2 )
    gap> Size( A5 );
    60
    gap> F2 := FreeGroup( "a", "b" );;
    gap> D8 := F2 / [ F2.1^4, F2.2^2, F2.1^F2.2 / F2.1 ];
    Group( a, b )
    gap> a := D8.1;;  b := D8.2;;
    gap> Index( D8, Subgroup( D8, [ a ] ) );
    2 
GAP 3.4.4