(恩赦私の専門用語が間違っている場合...私はプロローグに新たなんだ。)プロローグ - マージシンボル
あなたは述語のいくつかの未知の数に登場する一連のシンボルがあると(または規約?) 。
f1(a, b, c, d).
f2(b, b, c).
...
fn(b, d, e).
後 - 実行時に - あなたは用語a
とb
が同じである、とあなたがそれらをマージしたり、他でそれらのいずれかを交換したいことを実現します。言い換えれば、私はどちらかしたいと思います:
a = b
- は(gensymは/ 2を介して行わ)新しいシンボル
- で
a
とb
を交換しb
- で
a
のすべてのインスタンスを置き換えてください。これを達成する他のもの
...どの述語がこれらの用語を使用するかわかりません。
小文字の 'a'と' b'を単純に使用すると、文字列のような一定のものですが、特別なテーブルに格納されていて、一度そこに格納されてどこでも参照できるようにするPrologの "ルックアップによってプログラム内で実行されます。 [このアプローチは、メモリが乏しいリソースであったPrologの初期実装の遺産である]ほとんどのPrologsは、小文字のアルファベット文字ではなく、すでに存在するアトムテーブルエントリのテキストを変更する新しいアトムを作成する方法を持っている許可されていません。 – hardmath