Hat man folgende Wissensbasis
cool(peter).
cool(norman):-cool(freddy).
cool(dmitri):-cool(mark),cool(patrice).
cool(mark):-cool(norman).
cool(freddy):-cool(peter).
cool(patrice):-cool(mark).
so interessiert man sich dafür, wer nun alles 
cool ist. Die Anfrage 
?- cool(X). 
liefert auch alle Lösungen, wobei jede neue Lösung neu vom System angefordert werden muss.
Mit Hilfe des System-Prädikats 
fail, das immer schiefgeht aber Backtracking erzwingt,
kann man Folgendes erreichen:
?- cool(X),write(X),nl,fail.
peter
norman
dmitri
mark
freddy
patrice
No
Die Schleife besteht also darin, dass alle Backtracking-Möglichkeiten ausgeschöpft werden.
Will man wissen, wieviele 
cool sind oder die Namen der 
Coolen sortieren, so
wäre es schön eine Liste der Lösungen zu haben. Genau das leistet das Systemprädikat
findall.
?- findall(X,cool(X),L).
X = _G157
L = [peter, norman, dmitri, mark, freddy, patrice] ;
No