Consider this Prolog database: r(a,b). s(b,c). r(a,c). s(b,d). r(b,a). s(c,d). r(a,d). s(c,c). r(e,d). s(d,e). r(a). s(_). Now consider this Prolog query, and mentally trace through this goal: ?- r(X,Y), s(Y,Z), not(r(Y,X)), not(s(Y,Y)) (a) Without using a computer what is the first answer found to the query? (b) How many times does the interpreter backtrack from the third to the second subgoal to get this first answer? ( c) What about these queries: r(_ ,X), r(X). r(A,B), s(A),r(B). s(X,Y),s(Y),r(Y,Z),not(r(Z)).