kprolog K-Prolog Compiler Version 6.0

ここでは、項の比較に関する述語を説明します。 Prolog では、項の間で次のような順序付けを行います(この順序を @< で表します)。

一般に、

   変数 @< 整数 @< 浮動小数点数 @< アトム @< 複合項
で、変数どうしのときは、インプリメントに依存する一定の順序で、 整数、浮動小数点数のときはそれぞれ数値の大小により、 アトムどうしのときはアトムの文字コードによる辞書式順序で、 複合項どうしのときには、まずアリティの大小で、 次に複合項の名前の辞書式順序で、最後に引数を左から右に比較して順序をつけます。
@T1== @T2
T1
T2

T1 と T2 がまったく同じ項ならば成功します。


@T1@=< @T2
T1
T2

T1 が T2 以下ならば成功します。


@T1@< @T2
T1
T2

T1 が T2 より小さければ成功します。


@T1@> @T2
T1
T2

T1 が T2 以上ならば成功します。


@T1@>= @T2
T1
T2

T1 が T2 より大きければ成功します。


compare(-Op,@T1,@T2)
Op比較結果
T1
T2

T1 が T2 を比較し、その結果を表す記号、'=','<','>' をOpと単一化します。


sort(@Input,@Output)
Inputリスト
Outputリスト

リストInput の要素を順序によって昇順にソートした結果を Output と単一化します。ソートの際、同一の要素は併合されて1つの要素になります。


keysort(@Input,@Output)
Inputリスト
Outputリスト

リストInput の要素は、Key-Value の形でなければいけません。 Input の要素を Key部の順序によって昇順にソートした結果を Output と単一化します。ソートの際、同一の要素は併合しません。



一つ上に戻る 組込み述語に戻る 目次に戻る