以下に挙げるファイルには、項に対する一般的なアクセスや変更のための述語があります。applic.proには、項と述語の対応を利用したメタプログラミング述語が含まれています。
applic.proファイル ------------------ apply(+述語,+引数s) 引数sリストを述語に加えてできたゴールを呼び出す。
callable(?項) 項がcall/1に与えても良い形をしていれば成功する。
checkand(+述語,+連言) 述語(要素)が、連言のすべての要素に対して成功すれば、成功する。
checklist(+述語,+リスト) 述語(要素)が、リストの各要素で成功した場合、成功する。
mapand(+述語,?旧連言,?新連言) 述語(旧, 新)が、旧連言の各要素「旧」に対してで成功した時に成功し、「新」を集めた「新連言」を作る。
maplist(+述語,?旧リスト,?新リスト) 述語(旧, 新)が、旧リストの各要素「旧」に対して成功した時に成功し、「新」を集めた「新リスト」を作る。
convlist(+述語,+旧リスト,?新リスト) maplist/3とsublist/3を合わせたような述語。 述語(旧, 新)が成功する場合について、「新」を集めた「新リスト」を作る。
exclude(+述語,+リスト,?サブリスト) リストのサブリストは、述語(要素)が誤っている時のすべての要素を有する。
some(+述語,?リスト) 述語(要素)がリストの数個の要素について成功した時に、成功する。
somechk(+述語,+リスト) some/2と同じ。しかし、バックトラックできない。
sublist(+述語,+リスト,?サブリスト) 「サブリスト」は、述語(要素)が成功する「リスト」の要素をすべて集めたリスト。
metutl.proファイル ------------------ simple(+項) 項が、具体化されていない変数かアトムであるとき真。
ground(+項) 項が確立(ground)しているとき、すなわち、項が具体化していない変数を含まないとき真。
occurs_in(+変数,+項) 「変数」が項に現れているとき真。
subterm(+S,?T) SがTの部分項であるとき真。(S=Tの場合を含む)
copy(+旧,?新) 旧項の新しいコピーを作る。
unify(+X,+Y) occurs check付きで、XとYを単一化する。
occurs_check(+項,?変数) 「変数」は「項」の中にない。
var_member_chk(+変数,+リスト) 「変数」が「リスト」の中に含まれているかどうかをチェックする。「変数」の具体化はしない。
variables_of(+項,-変数s) 項に含まれるすべての変数のリストを返す。
subsumes(+一般項,+特殊項) 一般項の変数を適当に具体化することによって特殊項が得られるとき真。
struct.proファイル ------------------ subst(+置換,+項,-結果) 項に置換をほどこした結果を返す。
occ(+部分項,+項,-出現回数) 項における確立(ground)した部分項の出現回数を返す。
variables(+項,-変数リスト) 項に現れる変数を要素とするリストを返す。
var_member_check(+変数,+リスト) 「変数」がリストに含まれているかどうかを具体化せずにチェックする。
copy_term(+項,-コピー,+既置換, -置換) 「項」の「コピー」を作る。変数の置換結果も返す。
| scroll to top |
|