woman(lisa).
woman(maggie).
parents(lisa , homer, marge).
parents(maggie, homer, marge).
sister(X, Y) :-
X \= Y,
woman(X),
parents(X, P, M),
parents(Y, P, M).
當我跑了下面的查詢,我沒有想到失敗(但得到它)。爲什麼這個prolog程序返回false?
?- sister(lisa, X).
false. % expected result: X = maggie
爲什麼我看到這種行爲?
'(\ =)/ 2'不是純邏輯關係。改爲使用純謂詞'dif/2'。 '(\ =)/ 2'的問題簡而言之:'? - X \ = Y,X = a,Y = b.'產生** false **,但是'X = a,Y = b,X \ = Y' **成功**。 – mat