Когда я записывал этот вопрос в пустом списке как список различий, я хотел проверить, что я знал об этих структурах. Однако, когда я пробовал что-то простое, сравнивая разные обозначения, казалось, что я ошибся и что я не понял, что происходит с разностными списками.
?- L = [a,b,c|[d,e]]-[d,e], L = [a,b,c].
false % expected true
Я тестировал это на SWI-Prolog, а также на SICStus. Я проверил обозначение, так как это описано в Bratko Prolog Programming for AI, стр. 210, но, судя по всему, объединение невозможно. Почему это? Разве эти обозначения не имеют того же декларативного значения?