Изменения

Перейти к: навигация, поиск

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

3053 байта добавлено, 22:22, 10 марта 2018
Интерпретация булевых формул с кванторами как игр для двух игроков
[[Категория: Математическая логика]]
 
[[Лекция 3 | <<]][[Лекция 5 | >>]]
==Исчисление предикатов==
аксиомы и правила вывода.
# === Язык. === Добавим к языку исчисления высказываний новые конструкции с предикатами
и получим язык исчисления предикатов. Вот расширенная грамматика:
*<выражение>}&::=&\s{<импликация>}\\*<импликация>}&::=&\s{<дизъюнкция>} | \s{<дизъюнкция>} <tex> \rightarrow \s{</tex> <импликация>}\\*<дизъюнкция>}&::=&\s{<конъюнкция>} | \s{<дизъюнкция>} <tex> \vee \s{</tex> <конъюнкция>}\\*<конъюнкция>}&::=&\s{<терм>} | \s{<конъюнкция>} \& \s{<терм>}\\\s{*<терм>}&::=&\s{<предикат>} | \s{<предикат>} (\s{<аргументы>}) \\&|&<tex>\exists\s{</tex> <переменная><терм>} | <tex>\forall\s{</tex> <переменная><терм>}\\\s{*<аргументы>}&::=&\s{<переменная>}\\\s{*<аргументы>}&::=&\s{<переменная>,<аргументы>}\end{eqnarray*}\end{bnf}
Добавились 3 новых сущности:
\begin{enumerate}
\item \emph{индивидные} переменные --- мы будем записывать их маленькими латинскими буквами из начала алфавита
\item предикаты (они обобщили пропозициональные переменные)
\item кванторы: всеобщности ($\forall$) и существования ($\exists$).
\end{enumerate}
# Аксиомы. (a) ''индивидные'' переменные --- мы будем записывать их маленькими латинскими буквами из начала алфавита (b) предикаты (они обобщили пропозициональные переменные)\begin{definition}Будем говорить, что переменная $y$ свободна для $x$ при подстановке в формулу $(c) кванторы: всеобщности (<tex> \psi$ forall </tex>) и существования (или просто свободна для подстановки вместо $x$<tex> \exists </tex>), если после подстановки ни одно ее вхождение не станет связанным.\end{definition}=== Аксиомы ===
Чтобы получить список аксиом для исчисления предикатов, возьмем все схемы
аксиом исчисления высказываний и дополним их следующими двумя схемами.
Здесь $x$ - переменная, $\psi$ - некоторая формула, $y$ - некоторая переменная.
Запись $\psi[x := y]$ будет означать результат подстановки $y$ в $\psi$ вместо
всех свободных вхождений $x$. Пусть $y$ свободно для подстановки вместо $x$.
\begin{tabular}{lll}Определение (11) & $\forall{x}(\psi) \rightarrow (\psi[x :|definition= \alpha])$\\ (12) & $(\psi[x := \alpha]) \rightarrow \exists{xДана некоторая формула <tex>s</tex>. Будем говорить, что подстрока <tex>s_1</tex> строки <tex>s</tex> является подформулой, если она в точности соответствует какому-то одному нетерминалу в дереве разбора строки <tex>s</tex>.}(\psi)$\end{tabular}
Заметим, что если взять {{Определение |definition=Если в формулу $\exists x A(x,y)$входит подформула, то полученная по схеме аксиом правилам для кванторов (11)то есть,если игнорировать ограничение на свободу для подстановки, следующее утверждение должно быть тавталогией: $<tex>\forall y \exists x A(x,y) \rightarrow alpha</tex> или <tex>\exists x A (x\alpha</tex>), то мы будем говорить,что формула <tex>\alpha</tex> находится в области действия данного квантора по переменной <tex>x)$</tex>. ОднакоТакже, оно ей не являетсябудем говорить, что любая подформула формулы <tex>\alpha</tex> находится в области действия данного квантора.}}
{{Определение |definition=Если некоторое вхождение переменной <tex>x</tex> находится в области действия квантора по переменной <tex>x</tex>, то такое вхождение мы назовем '''связанным'''. Вхождение переменной <tex>x</tex> непосредственно рядом с квантором (<tex>\forall x \dots</tex>) мы назовем '''связывающим'''. Те вхождения переменных, которые не являются связанными или связывающими, назовем '''свободными'''. Формула, не имеющая свободных вхождений переменных, называется '''замкнутой'''.}} {{Определение |definition=Будем говорить, что переменная <tex>y</tex> свободна для <tex>x</tex> при подстановке в формулу <tex>\psi</tex> (или просто свободна для подстановки вместо <tex>x</tex>), если после подстановки <tex>y</tex> вместо свободных вхождений <tex>x</tex> ни одно ее вхождение не станет связанным. }} Чтобы получить список аксиом для исчисления предикатов, возьмем все схемы аксиом исчисления высказываний и дополним их следующими двумя схемами.Здесь <tex>x</tex> {{---}} переменная, <tex>\psi</tex> {{---}} некоторая формула, <tex>y</tex> {{---}} некоторая формула.Запись <tex>\psi[x := y]</tex> будет означать результат подстановки <tex>y</tex> в <tex>\psi</tex> вместо всех свободных вхождений <tex>x</tex>. Пусть <tex>y</tex> свободно для подстановки вместо <tex>x</tex>. (11) <tex>\forall{x}(\psi) \rightarrow (\psi[x := \alpha]) </tex>  (12) <tex>(\psi[x := \alpha]) \rightarrow \exists{x}(\psi) </tex> Заметим, что если взять формулу <tex>\exists x A(x,y)</tex>, то по схеме аксиом (11),если игнорировать ограничение на свободу для подстановки, следующее утверждение должно быть тавтологией: <tex> \forall y \exists x A(x,y) \rightarrow \exists x A (x,x) </tex>. Однако, оно ей не является. Пример, когда нарушение свободы для подстановки приводит к противоречию: <tex>\forall{x}(\psi) \to (\psi[x := \alpha]) \\\psi := \exists a \lnot P(a) = P(b), x := b, \alpha := a \\\forall b \exists a (\lnot P(a) = P(b)) \to \exists a (\lnot P(a) = P(a)) \\</tex> Такой предикат <tex>P</tex>, очевидно, существует (если в предметном множестве больше одного элемента). Тогда <tex>\exists a (\lnot P(a) = P(a))</tex> Противоречие, следовательно, <tex>z</tex> должен быть свободен для подстановки вместо <tex>\alpha</tex>. Все аксиомы, порожденные данными схемами в новом языке, мы назовем аксиомами исчисления
предикатов.
# === Правила вывода.===
Пусть $<tex>x$ </tex> не входит свободно в $<tex>\phi$</tex>. Тогда рассмотрим следующие дополнительные
правила вывода исчисления предикатов:
<tex> \begin{tabular}{lll}$\inferfrac {(\phi) \rightarrow \forall{x}(\psi)}{(\phi) \rightarrow \forall{x}(\psi)}$ &</tex>$\infer{<tex> \existsfrac {x}(\psi) \rightarrow (\phi)}{\exists{x}(\psi) \rightarrow (\phi)}$\end{tabular}</tex>
Добавив эти схемы к схеме для правила Modus ponens исчисления высказываний,
мы сможем породить множество правил вывода.
\end{enumerate}
%<Комментарии: <!-- По-моему, в следующем абзаце бред. // Андрей Рыбак --> "Не входит свободно>> " - это также важный вопрос.%Рассмотрим формулу $<tex>A(x) \rightarrow A(x)$</tex>. Легко показать, что такая%формула общезначима и доказуема. Однако, $<tex>(\exists{x}A(x)) \rightarrow A(x)$</tex>%не является общезначимой, если $<tex>A(x)$ </tex> не общезначима: достаточно взять в качестве %оценки свободной переменной $<tex>x$ </tex> то значение, на котором $<tex>A(x)$ </tex> ложна.%Вывод из гипотез также вполне можно расширить на исчисление предикатов. === Итог ===
\begin{{Определение |definition}=Формальная система, составленная из указанного языка, множества аксиом и множестваправил вывода, называется '''исчислением предикатов'''. \end{definition}}
Для задания оценки для выражения в исчислении предикатов необходимо
вместо оценки для переменных $<tex>f_P$ </tex> в исчислении высказываний ввестиоценку для предикатов: для каждого $<tex>k$</tex>-местного предиката $<tex>P^k_n$ </tex> определитьфункцию $<tex>f_{P^k_n}: D^k \rightarrow V$</tex>{{Определение|id=valid|definition=Формула в исчислении предикатов общезначима, если она истинна на любом предметном множестве <tex>D</tex>, при любой оценке предикатов, и при любых оценках свободных индивидных переменных. }}
\begin{{Определение |definition}Формула в исчислении =Пусть имеется некоторое исчисление предикатов общезначимас множеством аксиом <tex>A</tex>, если она истинна на любом предметном множестве $D$и пусть дан некоторый (возможно, при любой оценке пустой) список <tex>\Gamma</tex> ''замкнутых'' формул исчисления предикатов. Тогда, вывод формулы <tex>\alpha</tex> в исчислении с аксиомами <tex>A \cup \Gamma</tex> мы назовем выводом из допущений <tex>\Gamma </tex>, и при любых оценках свободных индивидных переменныхбудем записывать это как <tex>\Gamma \vdash \alpha </tex>.\end{definition}}
\begin{definition}Пусть имеется некоторое исчисление предикатов с множеством
аксиом $A$, и пусть дан некоторый (возможно, пустой) список $\Gamma$ \emph{замкнутых}
формул исчисления предикатов. Тогда, вывод формулы $\alpha$
в исчислении с аксиомами $A \cup \Gamma$ мы назовем выводом из
допущений $\Gamma$, и будем записывать это как $\Gamma \vdash \alpha$.
\end{definition}
Обратите внимание на требование отсутствия свободных переменных в допущениях.
\begin{theorem}{Теорема|statement=
Исчисление предикатов корректно, т.е. любое доказуемое утверждение общезначимо.
\end{theorem|proof= Упражнение.}}
\begin{proof}Упражнение.\end{proof}
\begin{theorem}{Теорема|statement=
Теорема о дедукции. Если <tex>A \vdash B</tex>, то <tex> \vdash A \rightarrow B </tex>
\end{theorem} \begin{|proof}=
Доказательство разбором случаев. 3 старых случая те же, добавилось
2 новых правила вывода. Упражнение.\end{proof}}
\begin{theorem}{Теорема|statement=
Исчисление предикатов полно.
\end{theorem}|proof=Без доказательства. <tex> [[Лекция 3 | <<]][[Лекция 5 | >>]]}}
442
правки

Навигация