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!