How does Prolog find multiple solutions? It does this in exactly the same way as it recovers from failure. It simply undoes the very last node of the search tree that it completed and looks for an alternative. Because its method of choosing the node to undo is always done on the basis of the latest completed node, this method is sometimes known as chronological backtracking.