0
我需要寫在序言中表達下面的句子條款這個Prolog子句有什麼問題?
「每個人都是凡人,但約翰」
這裏是我的條款:
not(mortal(john)).
mortal(_).
但是當我查詢?- mortal(john).
它返回true而不是false。
有什麼不對?
我需要寫在序言中表達下面的句子條款這個Prolog子句有什麼問題?
「每個人都是凡人,但約翰」
這裏是我的條款:
not(mortal(john)).
mortal(_).
但是當我查詢?- mortal(john).
它返回true而不是false。
有什麼不對?
它沒有問題。
你有兩個事實: -
not(mortal(john)).
mortal(_).
運行查詢?- mortal(john).
不能結合對第一個事實,因爲它不是結構上相同,但它可以綁定針對第二。
'凡人(_)。'意味着任何人都是凡人。而你的事實相互矛盾(你說的都是事實)。你需要像'mortal(X)': - X \ = john.'(如果'X'不是'john',''X''就是必需的)。 「事實」不是(凡人約翰)不是表達約翰死亡或缺乏事實的正確方法。 – lurker
謝謝,它的工作 –