and the goal p, the resolvent goes through the following states before the goal is proven (by reduction to true) and the computation terminates:p :- q, r. % clause 1 q :- true. % clause 2 r :- q. % clause 3
While in Prolog the resolvent is always processed from left to right like in this example, the resolvent in ECLiPSe is more structured, and can be manipulated in a much more flexible way. This is achieved by two basic mechanisms, suspension and priorities.p --1--> (q,r) --2--> (true,r) ----> (r) --3--> (q) --2--> true
![]()
Figure 17.1: Structure of the resolvent