Обозначим через PR
множество всех правил A ¬ A1, …, Ak,
k ³ 0 сигнатуры W, где A, A1, …, Ak – атомы сигнатуры W. Если атом A отсутствует, то правило ¬ A1, …, Ak
называется целью (запросом). Если k = 0, то правило A ¬ называется фактом.
Логическая программа Pr есть конечная совокупность правил. Подстановкой называется
отображение q: X ® T. Подстановка q(x) = x называется
тождественной. Обозначим через Q множество всех подстановок. Подстановки естественным образом
распространяются на произвольные выражения. Так для терма t
= f(t1, ..., tn)
и атома A = P(t1, ..., tn)
их подстановки соответственно равны tq = f(t1q, ..., tnq), Aq = P(t1q, ..., tnq). Правило Aq ¬ A1q, ..., Anq называется вариантом правила A ¬ A1, …, An если q – перестановка множества X.
Зафиксируем правило
вычисления R, определяющее в каждом запросе выделенный атом. Пусть N = ¬ A1& ... &Ai& ... &Ak,
k ³ 1 запрос, в котором правилом R выделен атом Ai и A ¬ B1& ... &Bl – вариант некоторого правила программы Pr, в котором все переменные отличны от переменных запроса.
Пусть q – наиболее общий
унификатор атомов Ai и A. Тогда запросы
¬ (A1& ... &B1& ... &Bl& ... &Ak)q, если l ³ 1; (1)
¬ (A1& ... &Ai& ... &Ak)q, если l = 0
будем называть выводимыми
из запроса N по правилу A ¬ B1& ... &Bl
с помощью подстановки q и правила вычисления R. Как видно из определения, атом Ai не удаляется из запроса при его унификации с
некоторым фактом программы. Такие атомы выделяются жирным шрифтом. Будем предполагать,
что правило R не выбирает для очередного шага вывода выделенные атомы.
Пространством вычислений для программы Pr и правила
вычисления R называется множество всех возможных запросов сигнатуры W с заданным на нем отношением выводимости.
SLDF-выводом (Linear resolution with Selection rule for Definite clauses and underlined Facts) цели
N в некотором пространстве вычислений, назовем максимальную последовательность
запросов N = N0, N1, N2 ...
вместе с последовательностью правил C0, C1, ...
и унификаций q0, q1, ...,
такую что запросы Ni+1 выводимы из запросов
Ni по правилам Ci
с помощью подстановок qi и
правила R. SLDF-вывод – максимальный путь в пространстве
вычислений, начинающийся с N. SLDF-вывод, заканчивающийся запросом, в котором
все атомы выделены, называется успешным. Конечный SLDF-вывод, не
являющийся успешным – тупиковым. Множество всех
SLDF-выводов, начинающихся с цели N, обычно представляют в виде дерева (префикс
дерева SLDF-выводов) и называют SLDF-деревом вычислений запроса N. SLDF-дерево,
содержащее успешный SLDF-вывод, называется успешным.