Prolog Union schlägt fehl

Ich versuche die Verwendung von union (dem eingebauten Prädikat) in Prolog zu verstehen. In vielen Fällen scheint es zu scheitern, wenn es gelingen sollte. Es scheint, dass es etwas mit der Reihenfolge der Elemente der Listen zu tun hat. Alle unten aufgeführten Fälle schlagen fehl (sie werden mit "false" zurückgegeben.)

?- union([1,2,3],[],[2,3,1]).  
?- union([1,5,3], [1,2], [1,5,3,2]). 
?- union([4,6,2,1], [2], [1,2,4,6]).
?- union([1,2], [], [2,1]).

Sollte das nicht alles wahr sein? Jede Erklärung, warum diese Fälle immer wieder fehlschlagen, wäre sehr hilfreich.

Also: Warum gelingt das unten nicht und finden Sie die richtige Liste für A?

 ?- union([1,5,3], A, [4,1,5,3,2]).  /** comes back with "fail." */

Antworten auf die Frage(2)

Ihre Antwort auf die Frage