K-Prolog Compiler Version 6.0 
K-Prolog Compiler Version 6.0.beta
循環する項とは、複合項が木の形でなく内部に自分自身と単一化された変数を持つような項で、version6以前ではサポートしておりませんでしたので循環する項同士の単一化が無限ループに入るなどの問題がありました。国際標準では循環する項を扱うことはオプションですが、大きな性能上の不利益を発生しないことがわかりましたので、K-Prologではversion6から採用することにいたしました。
循環する項の生成、単一化、比較、循環する項を含む節の定義が可能になっております。コンパイラは循環する項を扱うことができませんが、Prologプログラム上では循環する項を記述することができませんので、通常は関係ありません。K-Prologコンパイラは動的に生成した述語をコンパイルすることができますが、この場合、循環する項を含むものには対応しておりません。
【例】これらは、成功します。 ?- X = f(X), Y = f(Y), X = Y. ?- g(X,Y,X) = g(f(X),f(Y),Y). ?- X = f(X), Y = f(Y), X == Y. ?- X = f(X), asserta(p(X)).
cyclic_term(Term): Term が循環する項であるときに限り成功します。 cyclic(Term): cyclic_term/1 と同じです。 acyclic_term(Term): Term が循環しない項であるときに限り成功します。 current_prolog_flag(unication_subject_to_occurs_check,Flag): Flag は、cyclic となります。
これらの組込み述語の意味マニュアルに記載されています。
callable/1 numbervars/3 forall/2 subsumes/2 append/3 member/2 select/3 reverse/2 permutation/2
gcd/2: 最大公約数を計算します epsilon: 1.0より大きい最小の数と1.0の差である定数
float_mantissa_digits: 仮数部の桁数 float_epsilon: 1.0より大きい最小の数と1.0の差 float_min_exponent: 指数部の最小値 float_max_exponent: 指数部の最大値