all/4

The first argument to decide gives if solutions still left;% The second gives the solution currently found;% The third gives the free variables that are supposed to be bound;% The fourth gives the free variables being currently used.% The fifth outputs the current solution.%.

all( T,+ G,- L)*

Similar to findall( _T_, _G_, _L_) but eliminate repeated elements. Thus, assuming the same clauses as in the above example, the reply to the query


 all(X,a(X,Y),L).

would be:


 X = _32
 Y = _33
 L = [2,1];
 no

Note that all//33 will fail if no answers are found.