最初の整数が 2 番目の整数よりちょうど 1 大きい場合、プログラムは true を返す必要があります。
現在のコードは毎回 false を返します。
行 abs(XY) == 1 がなければ、2 番目の整数が最初の整数よりも大きいかどうかを確認するために機能しますが、差が正確に 1 であるかどうかを確認する必要があります。
expected output:
greater_than(succ(succ(0)),succ(0)).
yes
greater_than(succ(succ(0)),succ(succ(succ(0)))))
no
current code :
greater_than(succ(X),0).
greater_than(succ(X),succ(Y)) :-
abs(X-Y) == 1,
greater_than(X,Y).