Now suppose we only want to gather the first element of the pairs.

Wait a minute ... what is that Y?- setof(X,Y`^`

knows(X,Y),Z).Z = [jim, alf] [-5pt]

`^`

bit?
You have to
You have to read this
as ``find the set ** Z** consisting of all values of ** X** for which
there exists a value ** Y** for which ** knows(X,Y)**''.
The ** Y ^** is interpreted as ``there exists a

Mon May 24 20:14:48 BST 1999