Prolog 递增一

Prolog 递增一,prolog,Prolog,这是一个更大问题的一部分,所以我可能只是用错误的方式来思考这个问题。但事情是这样的 我有以下“过渡”规则: 我正试图想出一种方法,把1加到C中 更多背景:我正在做一个“穿越”问题,即让这些动物在不违反规则的情况下穿越河流。C是船上动物的数量,不能超过2只(我有一个不同的规则来处理根据@mbrach的答案通过猜测和检查得出 D is C + 1, trans(state(A, B, C), state(A, B, D), added_one). 正在抛出错误,因此我将其切换为: trans(st

这是一个更大问题的一部分,所以我可能只是用错误的方式来思考这个问题。但事情是这样的

我有以下“过渡”规则:

我正试图想出一种方法,把1加到C中


更多背景:我正在做一个“穿越”问题,即让这些动物在不违反规则的情况下穿越河流。C是船上动物的数量,不能超过2只(我有一个不同的规则来处理根据@mbrach的答案通过猜测和检查得出

D is C + 1,
trans(state(A, B, C), state(A, B, D), added_one).
正在抛出错误,因此我将其切换为:

trans(state(A, B, C), state(A, B, D) ) :- D is C + 1.

它现在运行正常。无论如何,这部分:(

好的。在您的原始问题中不清楚这是您试图实现的目标。请随时在中发布新的问题说明,以便了解您可能遇到的新问题。
D is C + 1,
trans(state(A, B, C), state(A, B, D), added_one).
trans(state(A, B, C), state(A, B, D) ) :- D is C + 1.