Являются ли эти два члена [a, b, c, d, e] и [[X] | [b, c, d, e]] унифицированы? Мне нужно подтверждение, я думаю, что они не потому, что вы не можете получить [X] = a в любом случае?Условия унифицируемого пролога
2
A
ответ
2
Я думаю, что нужно объединить с [X | [b,c,d,e]]
, не [[X] | [b,c,d,e]]
, то есть вы можете получить X=a
, не [X]=a
.
3
Ваше предположение верно: [X]
, что мы можем переписать, поскольку .(X,[])
не может быть объединен с атомом a
.
Мы можем переписать [X|[b,c,d,e]]
как .(_G231,.(b,.(c,.(d,.(e,[])))))
, то есть [X,a,b,c,d,e]
.
Вы можете осмотреть форму без синтаксиса сахара, используя дисплей/1.
1
Если X по какой-либо причине должен быть заключен в список, вы не сможете получить это унифицирование (как описано в chac). но для получения соответствия вы можете использовать предикат append:
?- append([X], [b,c,d,e], [a,b,c,d,e]).
X = a
Смежные вопросы
- 1. Выполнение условия пролога
- 2. Предикаты пролога
- 3. Классификация пролога
- 4. Ошибка пролога
- 5. Ошибка пролога
- 6. Как запросить базу данных пролога с веб-страницы пролога?
- 7. Поиск структур Пролога
- 8. Рекурсивный предикат Пролога?
- 9. Помощь Написание правила пролога
- 10. уникальные результаты от пролога
- 11. пролога факты и переменные
- 12. Список поиска пролога
- 13. Nim код пролога
- 14. Создание Пролога Словарь
- 15. Запуск пролога на mac
- 16. Условие завершения пролога
- 17. Понимание пустых списков Пролога
- 18. пролога проверить список
- 19. Код пролога вычисляющий факторный
- 20. Передача результатов пролога Predicate
- 21. Интеграция C# и пролога
- 22. Оператор таблицы пролога Значение
- 23. Особенности хорошего кода Пролога?
- 24. Визуализация графиков пролога
- 25. Числа вхождений Пролога
- 26. Пролога: Простой вопрос
- 27. Удовлетворение предиката унарного пролога
- 28. пролога списки в графах
- 29. Системы пролога в Javascript
- 30. Ошибка пролога: защита предиката