[英]writing rules in 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是“單個”變量,因為您不使用它的值。 為避免該警告,您可以使用_
或以_
開頭的名稱來表示一個變量,該變量的值無關緊要,並且Prolog不會警告您未在使用該變量:
is_mother(X) :- female(X), parent(X,_).
術語female(X)
和parent(X,_)
假定您具有predicate female(X)
和parent(X,Y)
或您具有事實,例如(例如) female(sally).
sally
是“原子”(Prolog中的常量 ),和/或parent(sally, tom).
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.