我々はアイデンティティ間リテラルを意味するように、論理変数話します。
つまり、プログラムとは、リテラルについて真実を総称するルールのセットであり、リテラルは未解釈です。当社は、個人に関する関係を記述するために変数を使用してルールを作成し、そしてルールを規定して私たちのクエリが真になることができるかどうかを証明しようとしているときに、プロローグは変数をバインドします。
リストという用語は(ヘッド)と(ここでは再帰を注意してください)リスト間の二項関係のためだけの構文砂糖です。通常、データベースについては、アトミックリテラルをバインドするファクト(本文がないルール、常に真です)を使用します。
このチュートリアルでは、おそらくあなたが報告している言葉とは異なる言葉で表現しているか、やや誤解を招くようです。あなたはとにかくなどのデータベース内のリストを格納することができ:
mylist([a,b,c]).
と同じようにプログラムを書く:しようと、
?- myprog(X).
とプロローグ:
myprog(X) :- mylist(L), member(X, L).
その後、あなたのようなあなたのプログラムを照会することができますmyprog/1を証明しようとすると、mylist/1を証明しようとする/ とメンバー/ 2 ... mylist(X)を証明するには、変数 Xは[a、b、c]にバインドされます。
HTH