Исчисление предикатов
93. Приведите пример формулы вида ,
в которой происходит коллизия переменных и которая не является
общезначимой. (Ответ:
.)
Поэтому нам придется принять еще одну меру предосторожности и
формально определить понятие корректной подстановки терма
вместо переменной. Мы будем говорить, что подстановка терма
вместо переменной
корректна, если в процессе текстуальной
замены всех свободных вхождений переменной
на
терм
никакая переменная из
не попадает в область действия
одноименного квантора.
Педантичный читатель мог бы попросить доказать, что результат такой подстановки будет формулой. Это проще всего сделать так: дать индуктивное определение корректной подстановки, равносильное исходному.
Сначала определим индуктивно результат подстановки терма
вместо переменной
в терм
; этот результат будем
обозначать
:
-
есть
; для любой переменной
, отличной от
, мы полагаем
равным
.
- если
есть
- местный функциональный символ, а
— термы, то
Теперь индуктивное определение продолжается для формул:
- для атомарных формул: если
есть
-местный предикатный символ, а
— термы, то
и подстановка является корректной; - подстановка терма
вместо переменной
в формулу
корректна, если она корректна для формулы
, при этом
(квадратные скобки указывают порядок действий, не являясь частью формулы); - подстановка терма
вместо переменной
в формулу
корректна, если она корректна для обеих формул
и
, при этом
аналогично для формули
;
-
наконец, подстановка
вместо
в формулу
корректна в двух случаях:
(1) если
не является параметром формулы
(это возможно, когда
не является параметром
или когда
совпадает с
); при этом подстановка ничего не меняет в формуле;
(2) переменная
является параметром формулы
, но переменная
не входит в терм
и подстановка
корректна; при этом
Аналогично определяется корректная подстановка в формулу
.
Главная часть в этом определении — последний его пункт, который,
во-первых, говорит, что вместо связанных вхождений переменных
ничего подставлять не надо, а во-вторых, требует, чтобы при корректной
подстановке переменные из терма не подпадали под действие
одноименных кванторов.
После всех этих приготовлений мы можем сформулировать две оставшиеся схемы аксиом исчисления предикатов: формула
(12)
и двойственная ей формула
(13)
будут аксиомами исчисления предикатов, если указанные в них подстановки корректны.
Два частных случая, когда подстановка заведомо корректна: во-первых, можно безопасно подставлять константу (или любой терм без параметров), во-вторых, подстановка переменной вместо себя всегда корректна (и ничего не меняет в формуле).
Отсюда следует, что формулы
и
будут аксиомами исчисления
предикатов (для любой формулы
и переменной
).
Нужны ли нам еще какие-нибудь аксиомы и правила вывода?
Конечно, нужны, поскольку уже сформулированные аксиомы не
полностью отражают смысл кванторов. (Например, они вполне
согласуются с таким пониманием этого смысла: формула всегда ложна, а формула
всегда истинна.) Поэтому мы введем в наше исчисление два правила
вывода, называемые правилами Бернайса,
и на этом определение исчисления предикатов будет завершено. (Позже мы
рассмотрим дополнительные аксиомы, отражающие специальный статус
предиката равенства.
Если переменная не является параметром
формулы
, то правила Бернайса разрешают такие переходы:

Поясним интуитивный смысл этих правил. Первое говорит, что если
из следует
, причем в
есть
параметр
, которого нет в
, то это означает,
что формула
истинна при всех значениях параметра
, если только формула
истинна.
Используя первое правило Бернайса, легко установить допустимость правила обобщения










Правило (Gen) (от Generalization — обобщение) кодифицирует
стандартную практику рассуждений: мы доказываем какое-то
утверждение со свободной переменной
,
после чего заключаем, что мы доказали
, так как
было произвольным.
Второе правило Бернайса также вполне естественно: желая
доказать в предположении
,
мы говорим: пусть такое
существует, возьмем его
и докажем
(то есть докажем
со свободной переменной
).
94. Покажите, что класс выводимых в исчислении предикатов формул не изменится, если мы вместо правил Бернайса добавим туда правило обобщения и две аксиомы




Как и в случае исчисления высказываний, перед нами стоят две задачи: надо доказать корректность исчисления предикатов (всякая выводимая формула общезначима) и его полноту (всякая общезначимая формула выводима). Этим мы и займемся в следующих разделах.