我使用SICStus序言,並有一組事實:序言:不平等操作
student('John Henry', 'Maths').
student('Jim Henry', 'Maths').
student('John Alan', 'Maths').
student('Alan Smith', 'Computing').
student('Gary Henry', 'Maths').
我想兩個學生其中兩個學生是不同的共同話題,所以我就:
sharedSubject(S1, S2, Sub) :- S1 \== S2, student(S1, Sub), student(S2, Sub).
然而,當我進入:
sharedSubject('John Henry', F, E).
我得到F = 'John Henry'
。有人能指出我要出錯的地方以及我需要做什麼嗎?謝謝。
這兩個很好的答案。由於解釋,我選擇了Paulo的一個。我之前沒有考慮過實例化。 – Hydar77