test(X).

?- test(X) -> (test(X) // (Y is X*X ->test(Y))).

