==/2, \==/2, @</2, @=</2, @>/2, @>=/2

与えられた演算子に従って、2つの項の関係を検査する。

+項1 == +項2
+項1 \== +項2
+項1 @< +項2
+項1 @=< +項2
+項1 @> +項2
+項1 @>= +項2

これらの述語は、 項1 項2の関係を検査する。.

様々な型の項は、以下の関係を持っている。

                 変数 < 浮動小数点数
         浮動小数点数 < 整数
                 整数 < アトム
               アトム < 複合項 (構造)


同じ型の項は、以下の順序を持っている。

項型 順序
変数 特別な順序を持たない。
浮動小数点数 数学的順序
整数 数学的順序
アトム 文字順
複合項 まず、それらのアリティで順序づけられる。 もし、同じアリティを持っていれば、その関数子の名前で順序づけられる。 もし、同じアリティ、関数子を持っていれば、最初に始まる引数で順序づけられる。

演算子 op 意味
== 項は同じ
\== 項は同じではない
@> 左辺項は、右辺項より大きい。
@>= 左辺項は、右辺項と等しいか、大きい。
@< 左辺項は、右辺項より小さい
@=< 左辺項は、右辺項と等しいか、小さい。


'==', '\==', '@<', '@=<', '@>', '@>=' は、組み込み挿入演算子です。優先順位クラスは700で、非結合性である。 (関連 current_op/3).

引数

項1             項
項2             項

------- == -------

X=5, f(X) == f(5). X <- 5 の代入で成功。

X= f(A,B), X= f(g(C,D), g(C,D)), A==B). X <- f(g(C,D), g(C,D), A <- g(C,D), B <- g(C,D) の代入で成功。

f(X) == f(Y). 失敗。

1 == 1.0 失敗。

------- \== -------

f(X) \== f(Y). 成功。

f(X,Y) \== f(X,a). 成功。

1.0e+2 \== 100. 失敗。

X=a, f(X,Y) \== f(a,Y). 失敗。

------- @< -------

f(a) @< f(b). 成功。

f(1,X) @< f(2,X). 成功。

'@<'(f(a,b), g(a,b)). 成功。

f(a,b) @< g(a). 失敗。

------- @=< -------

f(a) @=< f(b). 成功。

12 @=< 12. 成功。

'@=<'(X, Y). 成功。

text @=< texas 失敗。

------- > --------

text @> texas. 成功。

f(a,b) @> f(a). 成功。

f(a,b) @> g(a,b). 失敗。

'@>'(f(Y,X), f(X,Y). 失敗。 ------- >= -------

text @>= text. 成功。

'@>='(1, 1.0). 成功。

f(a) @>= f(b). 失敗。

標準

これらの述語は、ISO-Prolog 標準に含まれる。


戻る 続く..