existential qualifier in prolog mit setof / bagof

Ich hatte eine kurze Frage bezüglich. Existenzqualifizierer unter Verwendung von setof in Prolog (d. h. ^).

Bei Verwendung von SICStus scheint S (trotz der Behauptung einer Reihe von Websites) tatsächlich im folgenden Code quantifiziert zu sein (unter Verwendung des Sumpfstandards, Mutter / Kind der Tatsachen, der hier nicht enthalten ist):

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

Ich überprüfe die Vereinigung mit:

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

Der folgende Code mit dem existenziellen Operator scheint also keinen Unterschied zu machen:

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

Irgendwelche Ideen, warum das so ist? Was wäre eine Situation, in der Sie dann den Unifier benötigen würden?

Vielen Dank!