5

早速質問させていただきました。プロローグで setof を使用する存在修飾子 (つまり ^)。

SICStus を使用すると (多くの Web サイトが主張しているにもかかわらず)、S は実際に以下のコードで定量化されているように見えます (事実の母/子の沼地標準を使用して、ここには含めていません):

child(M,F,C) :- setof(X,(mother(S,X)),C).

私は以下を使用して統一をチェックします:

child(M,F,C) :- setof(X-S,(mother(S,X)),C).

したがって、存在演算子を使用した次のコードは違いがないようです。

child(M,F,C) :- setof(X,S^(mother(S,X)),C).

これはなぜですか?その場合、ユニファイヤが必要になる状況はどのようなものでしょうか?

ありがとう!

4

1 に答える 1