たとえば、Prolog 宣言の次の行がある場合:
move(state(middle, onbox, middle, hasnot),
grasp,
state(middle, onbox, middle, has)).
移動ファンクターと状態ファンクターの両方ですか?
私は事実、ファンクター、用語などにちょっと混乱しています...
たとえば、Prolog 宣言の次の行がある場合:
move(state(middle, onbox, middle, hasnot),
grasp,
state(middle, onbox, middle, has)).
移動ファンクターと状態ファンクターの両方ですか?
私は事実、ファンクター、用語などにちょっと混乱しています...
はい、moveファンstateクターです。ファンクターがF入っていF(Term1, ...)ます。しかし、それらは事実ではありません。あなたの場合、完全な線である事実は 1 つしかありません。
ファンクターは用語を記述しますが、用語自体ではなく (命令型言語のメソッド シグネチャのように)、構造体または述語の名前とアリティで構成されます。
あなたの例では、ファンクターはmove/3とstate/4です。
と には異なる関手があり、とfoo(a)があることに注意してください。foo(a,b)foo/1foo/2