Windows 7 で SWI-Prolog V 6.2.3 を使用しています。整数の絶対値と 2 乗を計算する次の述語を作成しました。
myabs(X,X):- X > = 0.
myabs(X,Y):- Y is -X.
mysq(X,S):- myabs(X,Y), S is Y * Y.
次の行でエラー (オペレーター エラー) が発生します。
2 : Prolog は -X を受け入れないようです。
3 : Prolog は Y * Y を受け付けないようです (2 * 2 に置き換えた場合、エラーは発生しません)
これらの関数には組み込みの述語があることは理解していますが、私は初心者なので、これらは学習に役立つ小さなプログラムです。