*** 2 ?- go_well_together(Y,rabbit). returns yes because of floundering (this answer is unsound). ?- incompatible(Y,rabbit). fails because, in turn, ?- likes(Y,rabbit). and ?- likes(rabbit,Y). succeed. ?- go_well_together(python,rabbit). correctly reports failure. Unsoundness of the previous answer is evident, as this goal is an instance of ?- go_well_together(Y,rabbit)., which succeeded, whereas this one fails. *** 3 nonorphan(X) :- mother(_,X). nonorphan(X) :- father(_,X). orphan(X) :- person(X), \+ nonorphan(X). *** 4 len([],0). len([H|T],N):-len(T,M),N is M+1. *** 5 lenp([],0). lenp([H|T],s(N)):-lenp(T,N). *** 6 add(X,0,X). add(X,s(Y),s(Z)):-add(X,Y,Z). *** 7 :- use_module(library(lists)). stars :- length(L,10), member(_,L), write(*), fail; nl. *** 8 table(L) :- member(X,L), member(Y,L), Z is X*Y, write(X*Y=Z), nl, fail; nl.