Como usar listas de diferenças em um intérprete Prolog

Quando eu estava escrevendoesta pergunta em uma lista vazia como uma lista de diferenças Eu queria testar o que sabia sobre essas estruturas. No entanto, quando tentei algo tão simples quanto comparar diferentes notações, parecia que eu estava errado e o fiznão entender o que realmente está acontecendo com as listas de diferenças.

?- L = [a,b,c|[d,e]]-[d,e], L = [a,b,c].
false % expected true

Eu testei isso no SWI-Prolog e no SICStus. Eu verifiquei a notação, pois é assim que está escrita na Prolog Programming for AI da Bratko, página 210, mas aparentemente a unificação não é possível. Por que é que? Essas anotações não têm o mesmo significado declarativo?

questionAnswers(1)

yourAnswerToTheQuestion