6.3.2. ИСПОЛНЕНИЕ ПРЕДЛОЖЕНИЯ

Будем говорить, что переменная или слот имеют "задерживающее" ("отключающее") значение, если они несвязаны или их значение равно спейсеру #.

Задержанными подцелями называются подцели доказательства, исполнение которых было отложено механизмом задержки исполнения подцелей. Списком задержанных подцелей называется вспомогательный список подцелей доказательства, используемый механизмом задержки исполнения подцелей.

Исполнение предложения включает:

  1. Унификацию функтора и аргументов исполняемого вызова предиката с функтором и аргументами заголовка предложения или унификацию вызова предиката с метапеременной (если заголовком предложения является метапеременная). В случае если заголовок предложения является объявлением функции, а исполняемый вызов предиката не является вызовом функции, перед унификацией в начало списка аргументов исполняемого вызова добавляется фиктивный аргумент - анонимная переменная "_".
  2. Пересмотр списка задержанных подцелей, осуществляемый механизмом задержки исполнения подцелей.
  3. Исполнение соответствующих подцелей доказательства. При этом подцели доказательства, целевые параметры которых имеют задерживающие значения, пропускаются и добавляются в список задержанных подцелей.

Исполнение предложения заканчивается успехом тогда и только тогда, когда успехом заканчиваются все три названные операции.

В случае унификации функтора исполняемого вызова предиката с метафунктором, значением метафунктора становится соответствующий терм - символ. В случае унификации исполняемого вызова предиката с метапеременной, значением метапеременной становится соответствующий терм - символ или структура. Однако при использовании названных метафункторов и метаатомов в качестве предикатных символов и предикатов подцелей, они рассматриваются, соответственно, как правильно построенные имена предикатов и предикаты.

Вызов предопределённых предикатов и встроенных управляющих операторов с помощью метаатомов невозможен и всегда заканчивается неудачей.

Примечание. Метаатом в заголовке метапредложения может быть только символом или только структурой, потому что, в соответствии с семантикой языка, количество аргументов структуры не может быть меньше единицы.

Ссылки: анонимная переменная 2.1.1, встроенный оператор 8, вызов предиката 6.2, вызов функции 6.2.1, заголовок предложения 6, значение переменной 3.1, значение терма 3, исполнение предиката 6.3.1, метаатом 6.1.1, метапеременная 3, метапредложение 6, метафунктор 3, механизм задержки 6.3.3, несвязанная переменная 3.1, объявление функции 6.1.3, переменная 2.1.1, пересмотр списка задержанных 6.3.3, подцель доказательства 6.3.1, подцель предложения 6.2, предложение 6, предопределённый предикат 8, символ 2.1.2, слот 5.1, спейсер 3.1, список 3.2.2, структура 3.2.1, терм 3, унификация 3.3, функтор 3, целевой параметр 4.1.3.


Следующий: 6.3.3. МЕХАНИЗМ ЗАДЕРЖКИ ИСПОЛНЕНИЯ
Предыдущий: 6.3.1. ИСПОЛНЕНИЕ ВЫЗОВА ПРЕДИКАТА


6.3. СТРАТЕГИЯ УПРАВЛЕНИЯ
КОРНЕВАЯ СТРАНИЦА
ОГЛАВЛЕНИЕ
СПИСОК ПОНЯТИЙ ЯЗЫКА (ИНДЕКС)