Предикаты "чистого" Пролога - Prolog
Формулировка задачи:
Какие следующие предикаты относятся к
"чистому" Прологу, т. е. описываются в рамках
логической теории предикатов первого порядка?
1) отсечение;
2) fail;
3) true;
4) отрицание not;
5) call;
6) findall;
7) assert;
8) retract.
Только начал изучать, а ответ уже нужен, я предположил 2 3 4,
но это не верно или недостаточно.
Решение задачи: «Предикаты "чистого" Пролога»
textual
Листинг программы
not(Goal) :- call(Goal), !, fail. not(_).
Объяснение кода листинга программы
- Представлен код на языке Prolog
- Код содержит два предиката:
not
и_
(неопределенный предикат) - Предикат
not
принимает один аргументGoal
- Если
Goal
успешно выполняется (то есть возвращает истинное значение), то выполняется сокращенная формаnot(_)
- Если
Goal
не выполняется (то есть возвращает ложное значение), то возвращается значениеfail
- Предикат
_
не принимает аргументов и всегда возвращает истинное значение - Предикат
not
используется для отрицания результатов выполнения других предикатов - В данном случае предикат
not
используется для отрицания предиката_
- Результатом выполнения кода будет истинное значение, если предикат
_
не выполнится (то есть вернет ложное значение) - Результатом выполнения кода будет ложное значение, если предикат
_
выполнится (то есть вернет истинное значение)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д