以下の組み込み述語は、項の比較を行います。X,Yはどんな項でもよく、数値も出されません。
X == Y 現在XとYが値として持っている項が、文字通り一致する場合に成功します。(特に、それら2つの項の中で同じ位置にある変数が一致しなければなりません)。
X \== Y 現在XとYが値として持っている項が、文字通り一致していない場合に成功します。
X @< Y 標準の順序において、現在のXの値(項)が、Yの値(項)よりも前となる場合に成功します。
X @=< Y 標準の順序において、現在のXの値(項)がYの値(項)よりも前となるか、あるいはXとYが文字通り一致する場合に成功します。
X @> Y 標準の順序において、現在のXの値(項)が、Yの値(項)よりも後となる場合に成功します。
X @>= Y 標準の順序において、現在のXの値(項)がYの値(項)よりも後となるか、あるいはXとYが文字通り一致する場合に成功します。
?- X == Y.
no ?- X = Y, X == Y.
X = Y = _299
yes ?- _
最初の質問では、XとYが値を持たない、異なる変数であるために失敗します。しかし2番目の質問では、最初のゴ−ルが2つの変数を単一化しているので成功します。つまりcompare(=,項1,項2)は、項1 == 項2と等価です。