所以我试图定义自然数到目前为止我这样做了:
1 nat(0). % 0 zero is a natural, can be a stoping case
2 nat(X):- 0>X , !,fail. %if is less then zero then its not a natural.
3 nat(X):- nat(Z), X is Z+1. %if its bigger than zero do recursively for the number-1
当我这样做时,它给了我“(>)/2 的参数 2 中的实例化错误”,因此他无法在第 2 行中实例化 X,但如果取出失败,他会执行比较 (>) 并且实例化没有问题X,那他为什么抱怨我失败了?