Тверской государственный университет
Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 3170 / 268 | Оценка: 4.08 / 3.92 | Длительность: 15:40:00
ISBN: 978-5-9556-0110-6
Специальности: Программист, Математик
Лекция 7:

Язык логики предикатов

< Лекция 6 || Лекция 7: 12345 || Лекция 8 >

Эквивалентные формулы и нормальные формы

С понятием эквивалентности формул мы уже знакомились, когда рассматривали булевы формулы (формулы логики высказываний). Для логики предикатов эквивалентность определяется следующим образом.

Определение 7.10. Формулы \phi и \psi сигнатуры \Sigma называются эквивалентными, если для любой системы \mathcal{A} этой сигнатуры и любого ее состояния \sigma имеет место равенство \sigma (\varphi ) = \sigma (\psi ). В этом случае пишем \varphi  \equiv  \psi.

Отметим сначала, что все эквивалентности булевых формул, приведенные в "лекции 4" : законы ассоциативности и коммутативности для конъюнкции и дизъюнкции, законы дистрибутивности, двойного отрицания, де Моргана и др., остаются справедливыми и для формул логики предикатов. Поэтому и для них мы примем соглашение об упрощенной записи, которое позволяет опускать скобки в формулах, содержащих только операции конъюнкции или только операции дизъюнкции. Разрешим также опускать внешние скобки в формулах, внешняя функция которых \wedge , \vee или \to. Например, формула (\forall x P(x,y) \to  ((\exists y P(y,y) \vee  Q(x,y,z)) \vee  R(x, u))) может быть упрощенно записана как \forall x P(x,y) \to  (\exists y P(y,y) \vee  Q(x,y,z) \vee  R(x, u)).

Для логики предикатов остается справедливым и правило замены эквивалентных подформул:

если \psi является подформулой формулы \varphi , \psi  \equiv  \psi _{1} и формула \varphi _{1} получена из формулы \phi заменой некоторого вхождения \psi на \psi _{1}, то \varphi  \equiv  \varphi _{1}.

Доказательство этого правила получается индукцией по определению значения формулы на состоянии системы (см. задачу 7.8).

Новые эквивалентности связаны с кванторами.

Теорема 7.1. Для любых формул \varphi (x) и \psi таких, что \psi не содержит свободно переменной x, имеют место следующие эквивалентности.

\begin{array}{ll}
(1)\ \neg \forall x \varphi(x)\ \equiv\ \exists x \neg \varphi(x), & (2)\ \neg \exists x \varphi(x)\ \equiv\ \forall x \neg \varphi(x),\\
(3)\ (\psi \wedge \forall x \varphi(x))\ \equiv\ \forall x (\psi \wedge \varphi(x)), & (4)\ (\psi \wedge \exists x \varphi(x))\ \equiv\ \exists x (\psi \wedge \varphi(x)),\\
(5)\ (\psi \vee \forall x \varphi(x))\ \equiv\ \forall x (\psi \vee \varphi(x)) , & (6)\ (\psi \vee \exists x \varphi(x))\ \equiv\ \exists x (\psi \vee \varphi(x)),\\
(7)\ (\psi \rightarrow \forall x \varphi(x))\ \equiv\ \forall x (\psi \rightarrow \varphi(x)) , & (8)\ (\psi \rightarrow \exists x \varphi(x))\ \equiv\ \exists x (\psi \rightarrow \varphi(x)),\\
(9)\ (\forall x \varphi(x) \rightarrow \psi)\ \equiv\ \exists x (\varphi(x) \rightarrow \psi) , & (10)\ ( \exists x \varphi(x) \rightarrow \psi)\ \equiv\ \forall x (\varphi(x) \rightarrow \psi)
\end{array}

Доказательства всех этих эквивалентностей получаются непосредственно из определения значения формул на состояниях. Рассмотрим, например, первую из них. Для любого состояния \sigma имеем \sigma (\neg  \forall x \varphi (x))\setminus  \equiv \setminus  \neg  \sigma ( \forall x \varphi (x)). Это значение равно 1 тогда и только тогда, когда \sigma ( \forall x \varphi (x))= 0 или, по определению значения квантора \forall, когда найдется такое состояние \sigma ', совпадающее с \sigma вне x, для которого \sigma '( \varphi (x))= 0. Но это эквивалентно истинности формулы \exists x \neg  \varphi (x) на состоянии \sigma.

Рассмотрим еще эквивалентности (9) и (10), которые, на первый взгляд, могут удивить - квантор всеобщности превращается при вынесении за скобки в квантор существования и наоборот. Доказательство (9) получается с помощью булевых эквивалентностей и пунктов (1) и (4) настоящей теоремы:

(\forall x \varphi(x) \rightarrow \psi)\ \equiv\ (\neg \forall x \varphi(x) \vee \psi)\ \equiv\
(\exists x \neg \varphi(x) \vee \psi) \equiv \\\equiv \exists x (\neg \varphi(x) \vee \psi)\ \equiv\
\exists x (\varphi(x) \rightarrow \psi)

Эквивалентность (10) доказывается аналогично.

Останутся ли эквивалентности (2) - (8) справедливыми, если мы не будем требовать, чтобы формула \psi не содержала свободных вхождений переменной x? Нет! Рассмотрим, например, для арифметической сигнатуры две формулы \varphi = (x=x) и \psi  = (x=0). Тогда формула (\psi  \wedge  \forall x \varphi )= ((x=0) \wedge  \forall x (x=x)), представляющая левую часть эквивалентности (3) истинна на состоянии \sigma, в котором $ \sigma (x)=0.$ А формула \forall x ((x=0) \wedge  (x=x)), представляющая ее правую часть, ложна на всех состояниях. Чтобы корректно вынести за скобки квантор в формуле (\psi (x) \wedge  \forall x \varphi (x) ), в которой \psi (x) содержит x свободно, нужно предварительно переименовать связанную переменную в \forall x \varphi (x). Это позволяют сделать следующие эквивалентности, справедливость которых следует из предложения 7.1.

Лемма 7.1.О замене связанных переменных.

  1. \forall x \varphi (x) \equiv  \forall y \varphi (y), где \varphi (x) не содержит y, а \varphi (y) получается заменой всех свободных вхождений x в \varphi (x) на y.
  2. \exists x \varphi (x) \equiv \setminus  \exists y \varphi (y), где \varphi (x) не содержит y, а \varphi (y) получается заменой всех свободных вхождений x в \varphi (x) на y.

Используя эту лемму, можем получить следующую цепочку эквивалентностей: ((x=0) \wedge  \forall x (x=x)) \equiv  ((x=0) \wedge  \forall y (y=y)) \equiv  \forall y ((x=0) \wedge  (y=y)). В общем случае, если переменная y не входит в \psi (x) и в \varphi (x), справедлива эквивалентность (\psi (x) \wedge  \forall x \varphi (x) ) \equiv  \forall y (\psi (x) \wedge  \varphi (y) ).

Определение 7.11. Формула вида Q_{1} x_{1} Q_{2} x_{2} \dots  Q_{n} x_{n} \varphi, где \phi - бескванторная формула, а каждый символ Qi - это один из кванторов \forall или \exists, называется предваренной (или пренексной) нормальной формой. Последовательность кванторов Q1 x1 Q2 x2 ... Qn xn называется ее приставкой, а бескванторная формула \phi - матрицей этой нормальной формы.

Теорема 7.2. О предваренной форме.

Для всякой формулы \phi существует формула \psi в предваренной нормальной форме такая, что \varphi  \equiv  \psi.

Доказательство следует из теоремы 7.1 и леммы 7.1. Мы приведем его в виде процедуры, которая позволяет построить предваренную форму \psi по исходной формуле \phi. Процедура состоит из двух этапов. На первом этапе, используя лемму 7.1, заменим все связанные переменные в \phi на новые так, чтобы

  1. разные кванторы связывали разные переменные и
  2. имена всех связанных переменных не пересекались с именами свободных переменных
  3. формулы \phi.

На втором этапе используя эквивалентности (3) - (10) теоремы 7.1 поочередно выносим кванторы за скобки. Именно, последовательно заменяем каждую подформулу вида (\varphi _{1} \hat{}  Qz \varphi _{2}), где Q \in  \{ \forall , \exists \} , \hat{}  \in  \{ \wedge , \vee , \to \} на эквивалентную формулу Qz(\varphi _{1}\hat{}  \varphi _{2}), и каждую подформулу вида (Qz\varphi _{1} \to  \varphi _{2}) на формулу Q'z(\varphi _{1} \to  \varphi _{2}), где Q' = \exists при Q= \forall и Q'= \forall при Q = \exists. Если после этого вынесенный квантор стоит сразу после операции отрицания \neg, то, применяя эквивалентности (1), (2), проносим отрицание в глубь формулы. Заметим, что порядок выноса кванторов определен неоднозначно, в зависимости от него в результате могут получиться эквивалентные формулы с разными кванторными приставками.

Пример 7.1. Рассмотрим пример. Пусть \varphi  = (\exists y P(x,y) \wedge  \neg (\forall x P(x,y) \to  \exists x Q(x, z))).

Ее свободные переменные: x, y и zx и y имеются также и связанные вхождения). Выберем в качестве новых имен для связанных переменных u, v и w и заменим ими "старые" связанные переменные. Получим эквивалентную формулу \varphi _{1} = (\exists u P(x,u) \wedge  \neg (\forall v P(v,y) \to  \exists w Q(w, z))). На следующем этапе выносим кванторы за скобки (в качестве индексов у знаков эквивалентности указаны номера применяемых эквивалентностей):

\varphi_1 \equiv_{(4)} \exists u (P(x,u) \wedge \neg(\forall v P(v,y) \rightarrow \exists w Q(w, z)))
\equiv_{(8)} \exists u (P(x,u) \wedge \\ \neg\exists w(\forall v P(v,y) \rightarrow Q(w, z)))
\equiv_{(9)} \exists u (P(x,u) \wedge \neg\exists w\exists v (P(v,y) \rightarrow Q(w, z)))\\ \equiv_{(2)(2)}\exists u (P(x,u) \wedge \forall w\forall v \neg(P(v,y) \rightarrow Q(w, z)))
\equiv_{(3)(3)} \exists u \forall w \forall v (P(x,u) \wedge\\ \neg(P(v,y) \rightarrow Q(w, z))).

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

\exists u \forall w \forall v (P(x,u) \wedge P(v,y) \wedge \neg Q(w, z)).
< Лекция 6 || Лекция 7: 12345 || Лекция 8 >
Елена Алексеевская
Елена Алексеевская

Это в лекции 3.

Татьяна Дембелова
Татьяна Дембелова

Почему в вводной лекции курса Основы дискретной математики одним из свойств отношения частичного порядка упоминается антирефлексивность? Посмотрела в других источниках, там -0  рефлексивность... http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0