0
我在學習Prolog,只想檢查自己: 我覺得這個問題很基礎,但我只是開始。prolog編寫規則
father(X,Y)
mother(X,Y)
male(X)
female(X)
parent(X,Y)
diff(X,Y)
爲is_mother(X)寫一個子句是否正確?
is_mother(X):- female(X), parent(X,Y).
謝謝
我在學習Prolog,只想檢查自己: 我覺得這個問題很基礎,但我只是開始。prolog編寫規則
father(X,Y)
mother(X,Y)
male(X)
female(X)
parent(X,Y)
diff(X,Y)
爲is_mother(X)寫一個子句是否正確?
is_mother(X):- female(X), parent(X,Y).
謝謝
is_mother(X) :- female(X), parent(X,Y).
這在技術上是正確的,因爲它說,X是一個母親,如果X是女性,X是有人(Y)的母公司。在這個定義中,由於您沒有使用它的值,因此Prolog會給您一個關於Y是「單身」變量的警告。爲了避免這種情況的警告,你可以使用_
或與_
開頭的名稱來表示一個變量,其價值,你不關心和前導不會警告你不使用:
is_mother(X) :- female(X), parent(X,_).
條款female(X)
和parent(X,_)
假定有要麼謂詞female(X)
和parent(X,Y)
或你有事實,如(例如)female(sally).
其中sally
是一個「原子」(在Prolog中一個恆定),和/或parent(sally, tom).
是否曾經在一些數據和測試呢? – DrLivingston
是的,這是正確的 –