0

Prologで自然数から後継数を作りたい。

nat2s(0, s(0)).
nat2s(NaturalNumber, SNumber) :-
            N is NaturalNumber - 1,
            nat2s(N, s(SNumber)).

出力は次のようになります。

nat2s(3, X).
X = s(s(s(0))).

実は無限ループです。結果としてtrueになるだけでなく、ループを終了する方法はありません。

4

1 に答える 1