我想在某些情况下创建一些规则和事实。情况是这样的,如果用户欠款,那么如果他没有偿还,他会在5天后偿还债务,如果他不是,那么他是正常人。到目前为止,我与类似的实验:关于序言的问题
我有两个规则:
debtpayment_unfulfilled(X) :- owes_money(W, Amountowed, Amountpaid, Days), Days >= 7,Amountowed > Amountpaid. .
debtpayment_fulfilled(X) :- debt_paid(W,Amountowed,Amountpaid), Amountowed =:= Amountpaid.
owes_money(jim, 500, 200, 8).
,但我似乎无法得到它来编译,XSB告诉我有条款#未绑定变量EXPR 1 ...
有什么想法吗?编辑废料,我刚刚得到它编译大声笑,错字,顺便说一句裁决看起来正确的即时通讯试图做什么? 当我尝试运行它,我不能得到与查询的答案:
debtpayment_unfulfilled(jim).
编辑:
是有可能做这样的事情:
debtpayment_unfulfilled(X) :- owes_money(X, Amountowed, Amountpaid, Days), Days >= Days + 7,Amountowed > Amountpaid.
天+ 7位或者这是不可能的?
什么是你想用这个来完成:'天数> =天+ 7' – MatrixFrog 2010-03-07 19:08:42
实际上也许应该是天+7> =天数?我需要尝试做的事情是7天过去了,这部分陈述将是真实的,但问题是例如owes_money(jim,5,2,8) - jim在第8天开始欠款希望你看到这个问题? – KP65 2010-03-07 19:59:44
好的,首先,最好对每个新问题提出一个新问题,因为一遍又一遍地编辑同一个问题使得难以遵循(并且答案相同)。现在,形式为Days + 7> = Days(或Days> = Days + 7)的表达式是没有意义的,因为一旦Days被绑定到一个值,表达式将始终为false。 – 3lectrologos 2010-03-07 22:24:32