calificador existencial en prólogo, usando setof / bagof

Tuve una pregunta rápida re. calificador existencial utilizando setof en prólogo (es decir, ^).

al utilizar SICStus, parece que (a pesar de lo que afirman varios sitios web), parece que S está cuantificado en el código siguiente (que utiliza el estándar de bog, madre de hechos, que no se ha incluido aquí):

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

Reviso la unificación usando:

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

por lo que el siguiente código, con el operador existencial, parece no hacer ninguna diferencia:

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

¿Alguna idea de por qué esto es? ¿Cuál sería una situación en la que necesitarías al unificador entonces?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta