qualificador existencial em prólogo, usando setof / bagof
Eu tive uma pergunta rápida. qualificador existencial usando setof em prólogo (isto é, ^).
usando o SICStus parece que (apesar do que vários sites alegam), S parece de fato ser quantificado no código abaixo (usando o padrão do pântano, mãe de / filho de fatos, que eu não incluí aqui):
child(M,F,C) :- setof(X,(mother(S,X)),C).
Eu verifico a unificação usando:
child(M,F,C) :- setof(X-S,(mother(S,X)),C).
então o seguinte código, com o operador existencial, parece não fazer diferença:
child(M,F,C) :- setof(X,S^(mother(S,X)),C).
Alguma idéia porque isso é? Qual seria a situação em que você precisaria do unificador?
obrigado!