As explained above, each ring R has exactly one indeterminate associated with R. In order to construct a polynomial ring with two indeterminates over R you must first construct the polynomial ring P(R) and then the polynomial ring over P(R).
gap> x := Indeterminate(Integers);; x.name := "x";; gap> Rx := PolynomialRing(Integers);; gap> y := Indeterminate(Rx);; y.name := "y";; gap> x := y^0 * x; x*y^0 gap> f := x^2*y^2 + 3*x*y + x + 4*y; (x^2)*y^2 + (3*x + 4)*y + (x) gap> Value( f, 4 ); 16*x^2 + 13*x + 16 gap> Value( last, -2 ); 54 gap> (-2)^2 * 4^2 + 3*(-2)*4 + (-2) + 4*4; 54
We plan to add support for (proper) multivariate polynomials in one of the next releases of GAP.
GAP 3.4.4