我有一个快速的问题。在序言中使用 setof 的存在限定符(即 ^)。
使用 SICStus 似乎(尽管许多网站声称),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).
任何想法为什么会这样?那么你需要统一器的情况是什么?
谢谢!