簡単なプログラムを使って 100 になる数を見つけようとすると、 のような設定値を確認できprod_hundred(2, 50)
ますが、 で値を見つけたい場合は、次のようになりprod_hundred(4, X)
ます。
Arguments are not sufficiently instantiated
In:
[1] 4*_1680=:=100
これは、「=:=」を使用して未知のものを評価できないためであることはわかっていますが、== を使用すると、評価する代わりにと比較"2*50"
するだけです。"100"
2*50
コード:
prod_hundred(X, Y) :- X*Y =:= 100.
?- prod_hundred(4, X).
Arguments are not sufficiently instantiated
In:
[1] 2*_1680=:=100