我已經定義了遞歸規則,但結果看起來不正確。Prolog遞歸規則錯誤結果
customer(peter,bank(maybank),customertype(personal),
citizen(malaysian),age(62),credit(50000),
income(3000),property(car)).
isseniorcitizen(X) :- customer(X, bank(_),customertype(_),
citizen(malaysian),age(Age),credit(_),
income(_),property(_)),
Age >= 60.
lowerinterest(Senior) :- isseniorcitizen(Senior).
isseniorcitizen(peter).
但是SWI-Prolog返回 X = peter; X =彼得。
爲什麼它返回兩次而不是一次?
請幫忙。
謝謝。
您的查詢是什麼? – ShiDoiSi 2010-07-19 09:42:26
isseniorcitizen(peter)。查詢 – peterwkc 2010-07-19 09:53:25
嗯,不是isseniorcitizen(X)? isseniorcitizen(彼得)是一個事實,應該產生「是」。 – ShiDoiSi 2010-07-19 11:35:08