我已经定义了递归规则,但结果看起来不正确。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