parent(_,_).
descendant(X,Y):- parent(Y,X).
descendant(edward,david).
descendant(malcolm,mark).
descendant(edward,therese).
descendant(malcolm,nathalie).
descendant(matthew,raymond).
descendant(matthew,nadine).
sibling(X,Y):- descendant(X,Z), descendant(Y,Z).
sibling(edward,kevin).
sibling(sean,vicky).
sibling(vicky,edward).
sibling(malcolm,claude).
sibling(matthew,stephania).
sibling(matthew,kurt).
這裏的問題是由於某些原因代碼無法正常工作。我的意思是說,無論我輸入關於這段代碼的什麼疑問,它總是返回true (我沒有在程序中包含所有的原子,因爲它只是一個簡單的男性(X)或女性(X),其中所有被包括的人都被覆蓋了,節省了你一些時間) 我的意思是: - 兄弟姐妹(edward,david)。真正。 對不起,如果我沒有任何意義,但如果有人會告訴我我在做什麼錯在這裏,我真的很感激它...我的事實錯誤? (Prolog)
父/ 2是一個直接謂詞(通過直接我的意思是它不是'用其他謂詞來定義),我的問題是,如果我將其更改爲父(X,Y),我會得到一個單例錯誤
如果沒有用其他謂詞來定義它,那就意味着它是根據事實來定義的。那麼不需要添加任何事實。形式「父母(A,B)」的事實必須存在於某個地方。 – 2013-04-26 18:56:39