1The predicate returns only one message, if several sets of variable assignments satisfy the constraints, they will be iterated upon invocations of the predicate,when the iteration process is finished —the set of variable assignments is exhausted— the predicate fails to instantiate. The order of iteration follows the order they appear in the knowledge base. The hope is that the facts in the knowledge base are ordered following some natural domain ordering, like time or space.