Союз Пролог провалился

Я пытаюсь понять использование объединения (встроенного предиката) в Прологе. Во многих случаях это кажется неудачным, когда это должно преуспеть Кажется, это как-то связано с порядком элементов списков. Все нижеприведенные случаи терпят неудачу (они возвращаются с «ложным»).

?- 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]).

Разве все это не должно быть правдой? Любое объяснение, почему эти случаи продолжают терпеть неудачу, было бы очень полезно.

Кроме того: почему ниже не удается и найти правильный список для A?

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

Ответы на вопрос(1)

Ваш ответ на вопрос