Опубликован: 24.04.2007 | Доступ: свободный | Студентов: 720 / 35 | Оценка: 4.60 / 4.30 | Длительность: 25:56:00
Специальности: Программист
Лекция 9:

Исчисление предикатов

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >

Корректность исчисления предикатов

Теорема 43. Всякая выводимая в исчислении предикатов формула является общезначимой.

Для исчисления высказываний проверка корректности была тривиальной — надо было по таблице проверить, что все аксиомы (1)-(11) являются тавтологиями. С этими аксиомами и сейчас нет проблем. Но в двух следующих аксиомах есть ограничение на корректность подстановки, без которого они могут не быть общезначимыми. Естественно, это ограничение должно быть использовано и в доказательстве корректности, и это потребует довольно скучных рассуждений — тем более скучных, что сам факт кажется ясным и так. Тем не менее такие рассуждения надо уметь проводить, так что мы ничего пропускать не будем.

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

Лемма 1. Пусть u и t — термы, а \xiпеременная. Тогда

[u (t/\xi)](\pi) = [u](\pi + (\xi\mapsto [t](\pi)))
для произвольной оценки \pi.

Напомним обозначения: в левой части мы подставляем t вместо \xi в терм u, и берем значение получившегося терма на оценке \pi. В правой части стоит значение терма u на оценке, которая получится из \pi, если значение переменной \xi изменить и считать равным значению терма t на оценке \pi.

В сущности, это утверждение совершенно тривиально: оно говорит, например, что значение \sin(\cos(x)) при x=2 равно значению \sin(y) при y=\cos(2). Но раз уж мы взялись все доказывать формально, докажем его индукцией по построению терма u. Если терм u есть переменная, отличная от \xi, то ни подстановка, ни изменение оценки не сказываются на значении терма u. Для случая u=\xi получаем [t](\pi) слева и справа. Если терм получается из других термов применением функционального символа, то подстановка выполняется отдельно в каждом из этих термов, так что искомое равенство также сохраняется. Лемма 1 доказана.

Аналогичное утверждение для формул таково:

Лемма 2. Пусть \varphi — формула, tтерм, а \xiпеременная, причем подстановка t вместо \xi в формулу \varphi корректна. Тогда

[\varphi(t/\xi)](\pi) = [\varphi](\pi + (\xi\mapsto [t](\pi)))
для произвольной оценки \pi.

Поясним смысл этой леммы на примере. Пусть \xi является единственным параметром формулы \varphi, а c — константа. Тогда формула \varphi(c/\xi) замкнута; лемма утверждает, что ее истинность равносильна истинности \varphi на оценке, при которой значение переменной \xi есть элемент интерпретации, соответствующий константе c.

Доказательство леммы проведем индукцией по построению формулы \varphi. Для атомарных формул это утверждение является прямым следствием леммы 1. Кроме того, из определения истинностного значения формулы и из определения подстановки ясно, что если утверждение леммы 2 верно для двух формул \varphi_1 и \varphi_2, то оно верно для их любой их логической комбинации (конъюнкции, дизъюнкции и импликации); аналогично для отрицания.

Единственный нетривиальный случай — формула, начинающаяся с квантора. Здесь наши определения вступают в игру. Пусть \varphi имеет вид \forall \eta\, \psi. Есть два принципиально разных случая: либо \xi является параметром формулы \varphi (т. е. формулы \forall \eta\,\psi ), либо нет. Во втором случае \varphi(t/\xi) совпадает с \varphi, а изменение значения переменной \xi в оценке \pi не влияет на значение формулы \varphi, так что все сходится. Осталось разобрать случай, когда \xi является параметром формулы \forall \eta\,\psi (отсюда следует, что \xi не совпадает с \eta ). По определению корректной подстановки, в этом случае переменная \eta не входит в терм t и подстановка \psi(t/\xi) корректна. Тогда

\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*}
Мы воспользовались определением подстановки, определением истинности ( \wedge_m означает конъюнкцию по всем элементам из носителя интерпретации) и предположением индукции для формулы \psi. Теперь надо заметить, что переменная \eta не входит в t по предположению корректности, и потому значение терма t не изменится, если заменить \pi+(\eta\mapsto m) на \pi. Далее, \xi и \eta различны, поэтому два изменения в \pi можно переставить местами. Используя эти соображения, можно продолжить цепочку равенств:
\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*}
что и требовалось. Случай формулы вида \exists\xi\,\psi разбирается аналогично, надо только \wedge_m заменить на \vee_m. Лемма 2 доказана.

Теперь уже ясно, почему формула

\forall \xi \, \varphi \to \varphi(t/\xi)
будет истинна на любой оценке \pi (если подстановка корректна). В самом деле, если левая часть импликации истинна на \pi, то \varphi будет истинна на любой оценке \pi', которая отличается от \pi лишь значением переменной \xi. В частности, \varphi будет истинна и на оценке \pi+(\xi\mapsto
[t](\pi)), что по только что доказанной лемме 2 означает, что правая часть импликации истинна на \pi.

Общезначимость формулы

\varphi(t/\xi) \to \exists \xi\,\varphi
доказывается аналогично.

Нам осталось проверить, что правила вывода сохраняют общезначимость. Для правила MP это очевидно (как и в случае исчисления высказываний). Проверим это для правил Бернайса. Это совсем несложно, так как здесь нет речи ни о каких корректных подстановках.

Пусть, например, формула \psi \to \varphi общезначима и переменная \xi не является параметром формулы \psi. Проверим, что формула \psi\to\forall\xi\,\varphi общезначима, то есть истинна на любой оценке \pi (в любой интерпретации). В самом деле, пусть \psi истинна на оценке \pi. Тогда она истинна и на любой оценке \pi', отличающейся от \pi только значением переменной \xi (значение переменной \xi не влияет на истинность \psi, так как \xi не является параметром). Значит, и формула \varphi истинна на любой такой оценке \pi'. А это в точности означает, что \forall
\xi\,\varphi истинна на оценке \pi, что и требовалось.

Для второго правила Бернайса рассуждение симметрично. Пусть формула \varphi\to\psi общезначима и переменная \xi не является параметром формулы \psi. Покажем, что формула \exists \xi\,\varphi\to\psi общезначима. В самом деле, пусть ее левая часть истинна на некоторой оценке \pi. По определению истинности формулы, начинающейся с квантора существования, это означает, что найдется оценка \pi', которая отличается от \pi только на переменной \xi, для которой [\varphi](\pi') истинно. Тогда и [\psi](\pi') истинно. Но переменная \xi не является параметром формулы \psi, так что [\psi](\pi')=[\psi](\pi). Следовательно, формула \psi истинна на оценке \pi, что и требовалось доказать.

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >