Исчисление предикатов
Корректность исчисления предикатов
Теорема 43. Всякая выводимая в исчислении предикатов формула является общезначимой.
Для исчисления высказываний проверка корректности была тривиальной — надо было по таблице проверить, что все аксиомы (1)-(11) являются тавтологиями. С этими аксиомами и сейчас нет проблем. Но в двух следующих аксиомах есть ограничение на корректность подстановки, без которого они могут не быть общезначимыми. Естественно, это ограничение должно быть использовано и в доказательстве корректности, и это потребует довольно скучных рассуждений — тем более скучных, что сам факт кажется ясным и так. Тем не менее такие рассуждения надо уметь проводить, так что мы ничего пропускать не будем.
Итак, пусть фиксирована сигнатура , а также некоторая
интерпретация этой сигнатуры. Всюду далее, говоря о термах и
формулах, мы имеем в виду термы и формулы этой сигнатуры, а
говоря об их значениях, имеем в виду значения в этой интерпретации.
Лемма 1. Пусть и
— термы, а
— переменная. Тогда
![[u (t/\xi)](\pi) = [u](\pi + (\xi\mapsto [t](\pi)))](/sites/default/files/tex_cache/f5f49409a5e22f9da4686efcf9422d82.png)
![\pi](/sites/default/files/tex_cache/4f08e3dba63dc6d40b22952c7a9dac6d.png)
Напомним обозначения: в левой части мы подставляем вместо
в терм
, и берем значение получившегося терма на оценке
. В правой части стоит значение терма
на оценке, которая
получится из
, если значение переменной
изменить и
считать равным значению терма
на оценке
.
В сущности, это утверждение совершенно тривиально: оно говорит,
например, что значение при
равно
значению
при
. Но раз уж мы взялись все
доказывать формально, докажем его индукцией по построению терма
. Если
терм
есть переменная, отличная от
, то ни
подстановка, ни изменение оценки не сказываются на значении терма
. Для
случая
получаем
слева и справа. Если
терм получается из других термов применением функционального символа,
то подстановка выполняется отдельно в каждом из этих термов, так
что искомое равенство также сохраняется. Лемма 1 доказана.
Аналогичное утверждение для формул таково:
Лемма 2. Пусть — формула,
—
терм, а
— переменная, причем подстановка
вместо
в формулу
корректна. Тогда
![[\varphi(t/\xi)](\pi) = [\varphi](\pi + (\xi\mapsto [t](\pi)))](/sites/default/files/tex_cache/82d7ad7bc4521d202ada518943f5aa3e.png)
![\pi](/sites/default/files/tex_cache/4f08e3dba63dc6d40b22952c7a9dac6d.png)
Поясним смысл этой леммы на примере. Пусть является
единственным параметром формулы
, а
—
константа. Тогда формула
замкнута; лемма утверждает, что
ее истинность равносильна истинности
на оценке, при
которой значение переменной
есть элемент интерпретации,
соответствующий константе
.
Доказательство леммы проведем индукцией по построению
формулы . Для атомарных формул это утверждение является
прямым следствием леммы 1. Кроме того, из определения
истинностного значения формулы и из определения подстановки
ясно, что если утверждение леммы 2 верно для двух формул
и
, то оно верно для их любой их
логической комбинации (конъюнкции, дизъюнкции и импликации);
аналогично для отрицания.
Единственный нетривиальный случай — формула, начинающаяся с
квантора. Здесь наши определения вступают в игру.
Пусть имеет вид
. Есть два
принципиально разных случая: либо
является параметром
формулы
(т. е. формулы
), либо нет. Во втором случае
совпадает с
, а изменение
значения переменной
в оценке
не влияет на значение
формулы
, так что все сходится. Осталось разобрать случай, когда
является параметром формулы
(отсюда следует, что
не совпадает с
). По определению
корректной подстановки, в этом случае переменная
не
входит в терм
и подстановка
корректна.
Тогда
![\begin{align*}
[(\forall \eta\, \psi)&(t/\xi)](\pi)=
[\forall \eta\, (\psi(t/\xi))](\pi) =\\
&=\wedge_m [\psi(t/\xi)](\pi+(\eta\mapsto m)) = \\
&=\wedge_m [\psi](\pi+(\eta\mapsto m)+
(\xi\mapsto[t](\pi+(\eta\mapsto m)))).
\end{align*}](/sites/default/files/tex_cache/8edc55159ca849c82ad22a726d5a832e.png)
![\wedge_m](/sites/default/files/tex_cache/ebd4e10195c011c5dd039306ecd52004.png)
![\psi](/sites/default/files/tex_cache/a11bd56a0ff5973a5604bb3fc9142b1d.png)
![\eta](/sites/default/files/tex_cache/ffe9f913124f345732e9f00fa258552e.png)
![t](/sites/default/files/tex_cache/e358efa489f58062f10dd7316b65649e.png)
![t](/sites/default/files/tex_cache/e358efa489f58062f10dd7316b65649e.png)
![\pi+(\eta\mapsto m)](/sites/default/files/tex_cache/aacd15d03eeab996155b6b75d324ce7e.png)
![\pi](/sites/default/files/tex_cache/4f08e3dba63dc6d40b22952c7a9dac6d.png)
![\xi](/sites/default/files/tex_cache/195246810f9bfc228bca491859062b14.png)
![\eta](/sites/default/files/tex_cache/ffe9f913124f345732e9f00fa258552e.png)
![\pi](/sites/default/files/tex_cache/4f08e3dba63dc6d40b22952c7a9dac6d.png)
![\begin{align*}
&=\wedge_m [\psi](\pi+(\xi\mapsto [t](\pi))+(\eta\mapsto m)) = \\
&=[\forall \eta\,\psi](\pi+(\xi\mapsto [t](\pi))) = \\
&=[\varphi](\pi+(\xi\mapsto [t](\pi))),
\end{align*}](/sites/default/files/tex_cache/9a1311967ef03c9c1a126333cf98d0a1.png)
![\exists\xi\,\psi](/sites/default/files/tex_cache/c39d551cf6b16b6554e360be96a00b6f.png)
![\wedge_m](/sites/default/files/tex_cache/ebd4e10195c011c5dd039306ecd52004.png)
![\vee_m](/sites/default/files/tex_cache/f3d97b2fb48bcdde7eda7e6450366435.png)
Теперь уже ясно, почему формула
![\forall \xi \, \varphi \to \varphi(t/\xi)](/sites/default/files/tex_cache/42b08ad92597667044ef46dbdb818041.png)
![\pi](/sites/default/files/tex_cache/4f08e3dba63dc6d40b22952c7a9dac6d.png)
![\pi](/sites/default/files/tex_cache/4f08e3dba63dc6d40b22952c7a9dac6d.png)
![\varphi](/sites/default/files/tex_cache/87567e37a1fe699fe1c5d3a79325da6f.png)
![\pi'](/sites/default/files/tex_cache/f81795f5cd2e69b9e65cb1adf15c681c.png)
![\pi](/sites/default/files/tex_cache/4f08e3dba63dc6d40b22952c7a9dac6d.png)
![\xi](/sites/default/files/tex_cache/195246810f9bfc228bca491859062b14.png)
![\varphi](/sites/default/files/tex_cache/87567e37a1fe699fe1c5d3a79325da6f.png)
![\pi+(\xi\mapsto
[t](\pi))](/sites/default/files/tex_cache/48a6ae5554454c820ead4fd1cce33fa7.png)
![\pi](/sites/default/files/tex_cache/4f08e3dba63dc6d40b22952c7a9dac6d.png)
Общезначимость формулы
![\varphi(t/\xi) \to \exists \xi\,\varphi](/sites/default/files/tex_cache/ea8f1e5608b5bacc41c39b19975c7786.png)
Нам осталось проверить, что правила вывода сохраняют общезначимость. Для правила MP это очевидно (как и в случае исчисления высказываний). Проверим это для правил Бернайса. Это совсем несложно, так как здесь нет речи ни о каких корректных подстановках.
Пусть, например, формула общезначима и
переменная
не является параметром формулы
.
Проверим, что формула
общезначима,
то есть истинна на любой оценке
(в любой интерпретации). В
самом деле, пусть
истинна на оценке
. Тогда
она истинна и на любой оценке
, отличающейся от
только значением переменной
(значение переменной
не
влияет на истинность
, так как
не является
параметром). Значит, и формула
истинна на любой такой
оценке
. А это в точности означает, что
истинна на оценке
, что и требовалось.
Для второго правила Бернайса рассуждение симметрично.
Пусть формула общезначима и
переменная
не является параметром формулы
.
Покажем, что формула
общезначима. В самом
деле, пусть ее левая часть истинна на некоторой оценке
. По
определению истинности формулы, начинающейся с квантора
существования, это означает, что найдется оценка
, которая
отличается от
только на переменной
, для
которой
истинно. Тогда и
истинно. Но переменная
не является параметром формулы
,
так что
. Следовательно, формула
истинна на оценке
, что и требовалось доказать.