Отметим, что правила вывода в логике предикатов не исчерпывают множества всех
известных правил вывода. Однако, правила вывода имеют иное семантическое
содержание. Об этом следующий параграф.
1.2.2 Примеры стратегии вывода
Рассмотрим формализм нормальных алгоритмов Маркова, в котором правила
вывода реализуются на основе операторов подстановки.
Пусть а и b - произвольные слова. Будем говорить, что слово а входит в слово b, если
существуют такие слова с и d, что b = cad.
Основным правилом вывода является подстановка. Оператор подстановки а Ь
используется для замены левого вхождения слова а на слово b. Для того, чтобы
применить оператор а b к слову e, необходимо, чтобы е содержало а. В последнем
случае будем говорить, что выполнены условия применимости оператора а b. Из
множества операторов, для которых выполнены условия применимости, всегда
выбирается один оператор (например, первый по порядку). Отметим, что вывод считается
детерминированным, если всякий раз условия применимости выполняются не более чем
для одного правила вывода. Алгоритм завершает работу, если либо нет выполнимых
операторов, либо выполняется специальный оператор конца (стоп-оператор).
Пример.
(1) a bc
(2) c ebcc
(3) c d
(4) d
(5) b
(6) есс d.
e - символ пробела.
Рассмотрим, как преобразуется в этой системе слово cad:
cad ebccad eccad dad ad bcd cd ebccd eccd dd d
Здесь внизу под стрелкой указан номер оператора.
(2) (6) (4) (1) (5) (2) (5) (4)(4)(6)(5)