Дискуссионный математический форумМатематический форум

Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 4 часа [ Летнее время ]
MathHelpPlanet.com RSS-лента Математического форума

Часовой пояс: UTC + 4 часа [ Летнее время ]


Логическое следование формул

Логическое следование формул


Раздел алгебры высказываний, изучающий закономерности логического следования, логического умозаключения, является ее сердцевиной. Именно в этом разделе на данном уровне развития математической логики решается основная задача логики, состоящая в нахождении общих способов установления связей логических значений одних высказываний с логическими значениями других высказываний на основании исследования формальной структуры высказываний. Одно из важнейших предназначений логики состоит в том, чтобы устанавливать, что из чего следует, т.е. устанавливать структуры высказываний, связанных отношением логического следования (часть общего назначения математики, по выражению Н.Винера, "находить порядок в хаосе, который нас окружает"). Знание этих закономерностей необходимо прежде всего самой математической науке. С помощью таких знаний происходит доказательство математических теорем и, следовательно, развитие математики. Это знание важно и для других наук, для систематизации научного знания вообще; да и в повседневной жизни оно служит инструментом рассуждений, обоснований и доказательств.


Понятие логического следствия


Когда говорят, что из одного или нескольких предложений [math]A_1,A_2,\ldots,A_m[/math] следует предложение [math]B[/math], то подразумевают следующее: всякий раз, когда окажутся истинными все предложения [math]A_1,A_2,\ldots,A_m[/math], истинным будет и предложение [math]B[/math]. Вот примеры таких следований: "Если летом я устроюсь на временную работу (утверждение [math]A[/math]), то у меня будут заработанные деньги (утверждение [math]B[/math])", "Если у меня будут заработанные деньги (утверждение [math]B[/math]), то я куплю видеомагнитофон (утверждение [math]C[/math]", "Если днем я не приготовлю уроки на завтра (утверждение [math]A_1[/math]), и если вечером я пойду в кино (утверждение [math]A_2[/math]), то завтра я буду не готов к занятиям (утверждение [math]D[/math])". Установление справедливости приведенных суждений не относится к компетенции математической логики, а осуществляется на основе анализа их содержания и смысла.


Задача математической логики (в частности, алгебры высказываний) в вопросах логического следования состоит в том, чтобы указать такие формы высказываний [math]A_1,A_2,\ldots,A_m,B[/math], когда последнее высказывание непременно было бы следствием [math]m[/math] первых, независимо от конкретного содержания всех этих высказываний. Формы высказываний выражаются, как нам известно, формулами алгебры высказываний. Итак, теория логического следования (в рамках алгебры высказываний) должна изучать закономерности образования формул [math]F_1,F_2, \ldots,F_m,H[/math], по которым первые [math]m[/math] из них связаны с последней отношением логического следования.


Вернемся к двум первым суждениям, приведенным в начале пункта: [math]A\to B[/math] и [math]B\to C[/math]. Вынесем относительно них следующее умозаключение: "Если [math]A\to B[/math] и [math]B\to C[/math], то [math]A\to C[/math]". Формулировка данного суждения без использования математической символики будет, конечно, неуклюжа. Поэтому сформулируем его так: "Если высказывание [math]A\to B[/math] верно и высказывание [math]B\to C[/math] верно, то верно и высказывание [math]A\to C[/math]". Нет никаких сомнений в том, что высказанное суждение справедливо. Более того, мы осознаем его справедливость, даже не интересуясь содержанием простейших высказываний [math]A,\,B[/math] и [math]C[/math]. Значит, высказывание, имеющее форму [math]X\to Z[/math], следует из двух высказываний, имеющих формы [math]X\to Y[/math] и [math]Y\to Z[/math], независимо от того, каковы высказывания [math]X,\,Y[/math] и [math]Z[/math].


Перейдем теперь к точному определению понятия логического следствия и к изучению свойств этого понятия.




Определение 6.1. Формула [math]H(X_1,\ldots,X_n)[/math] называется логическим следствием формул [math]F_1(X_1,\ldots,X_n),\ldots, F_m(X_1,\ldots,X_n)[/math], если формула [math]H(X_1,\ldots,X_n)[/math] превращается в истинное высказывание при всякой такой подстановке вместо всех ее пропозициональных переменных [math]{ X_1,\ldots,X_n}[/math] конкретных высказываний, при которой в истинное высказывание превращаются все формулы [math]F_1(X_1,\ldots,X_n),\ldots, F_m(X_1,\ldots,X_n)[/math]. То, что формула [math]H[/math] является логическим следствием формул [math]F_1,\ldots,F_m[/math], записывается так: [math]F_1,\ldots,F_m\vDash H[/math]. Формулы [math]F_1,\ldots,F_m[/math] называются посылками для логического следствия [math]H[/math].


Таким образом, [math]F_1,\ldots,F_m\vDash H[/math], если для любых высказываний [math]A_1,\ldots,A_n[/math] из


[math]\lambda\bigl(F_1(A_1,\ldots,A_n)\bigr)=1,\quad \ldots,\quad \lambda\bigl(F_m(A_1,\ldots,A_n)\bigr)=1[/math] следует [math]\lambda\bigl(H(A_1,\ldots,A_n)\bigr)=1[/math].

Наконец можно и так сказать о логическом следствии. Составим таблицы истинности для формул [math]F_1,\ldots,F_m,H[/math]. Предположим, что если в какой-то строке таблицы все формулы [math]F_1,\ldots,F_m[/math] принимают значение 1, то в этой строке непременно и формула [math]H[/math] принимает значение 1. Это и будет означать, что [math]H[/math] является логическим следствием формул [math]F_1,\ldots,F_m[/math].


Из сформулированного определения вытекает четкий алгоритм проверки формул на логическое следование (далее приводится в виде схемы). Рассмотрим его действие для случая, например, трех формул-посылок, зависящих от трех переменных:


[math]F_1(X,Y,Z),\, F_2(X,Y,Z),\, F_3(X,Y,Z) \vDash H(X,Y,Z).[/math]

Все эти формулы должны быть заданы таблицей своих значений:


[math]\begin{array}{|c|c|c||c|c|c|c|}\hline X& Y& Z& F_1(X,Y,Z)& F_2(X,Y,Z)& F_3(X,Y,Z)& H(X,Y,Z)\\\hline 0&0&0& \alpha_0& \beta_0& \gamma_0& \xi_0\\ 0&0&1& \alpha_1& \beta_1& \gamma_1& \xi_1\\ 0&1&0& \alpha_2& \beta_2& \gamma_2& \xi_2\\ 0&1&1& \alpha_3& \beta_3& \gamma_3& \xi_3\\ 1&0&0& \alpha_4& \beta_4& \gamma_4& \xi_4\\ 1&0&1& \alpha_5& \beta_5& \gamma_5& \xi_5\\ 1&2&0& \alpha_6& \beta_6& \gamma_6& \xi_6\\ 1&1&1& \alpha_7& \beta_7& \gamma_7& \xi_7\\\hline \end{array}[/math]



Алгоритм проверки формул на логическое следование


Алгоритм действует следующим образом. Он просматривает последовательно по строкам таблицы значений формул [math]F_1,F_2,F_3,H[/math]. Если хотя бы один элемент нулевой строки [math]\alpha_0,\beta_0,\gamma_0[/math] равен 0, то без просмотра значения формулы [math]H[/math] в этой строке (т. е. числа [math]\xi_0[/math]) происходит переход к просмотру следующей строки [math]\alpha_1,\beta_1,\gamma_1[/math]. Если все элементы [math]\alpha_0,\beta_0,\gamma_0[/math] нулевой строки равны 1, то просматривается значение [math]\xi_0[/math] формулы [math]H[/math] в этой строке. При [math]\xi_0=0[/math] выдается результат: формула [math]H[/math] не является логическим следствием формул [math]F_1,F_2,F_3[/math]. При [math]\xi_0=1[/math] происходит переход к просмотру следующей строки [math]\alpha_1,\beta_1,\gamma_1[/math]. И так далее. Если после просмотра последней строки [math]\alpha_7,\beta_7,\gamma_7,\xi_7[/math] должен произойти переход к просмотру следующей строки, то это означает, что определение логического следования выполнено и формула [math]H[/math] является логическим следствием формул [math]F_1,F_2,F_3[/math].


Пример 6.2. По таблице истинности нескольких формул попытаемся определить, какие из них следуют из каких:


[math]\begin{array}{|c||c|c|c||c|c|c|c|}\hline \mathsf{H^{\underline{\circ}}}& \lambda(X)& \lambda(Y)& \lambda(Z)& \lambda((X\land Y)\to\lnot Z)& \lambda(\lnot Y)& \lambda(X\to Z)& \lambda(\lnot(X\land Y))\\\hline 1& 0& 0& 0& 1& 1& 1& 1\\ 2& 0& 0& 1& 1& 1& 1& 1\\ 3& 0& 1& 0& 1& 0& 1& 1\\ 4& 0& 1& 1& 1& 0& 1& 1\\ 5& 1& 0& 0& 1& 1& 0& 1\\ 6& 1& 0& 1& 1& 1& 1& 1\\ 7& 1& 1& 0& 1& 0& 0& 0\\ 8& 1& 1& 1& 0& 0& 1& 0\\\hline \end{array}[/math]

Рассмотрим формулы [math]X,\,Z,\,(X\land Y)\to\lnot Z,\,\lnot Y[/math]. Из таблицы видно, что имеется только одна строка (6-я), в которой первые три формулы принимают значение 1. В этой строке и формула [math]\lnot Y[/math] также принимает значение 1. Следовательно, [math]X,\,Z,\,(X\land Y)\to\lnot Z\vDash\lnot Y[/math].


Теперь рассматриваем формулы [math](X\land Y)\to\lnot Z,~ X\to Z,~ \lnot(X\land Y)[/math]. Из таблицы видно, что имеется точно пять строк, в которых первые две формулы принимают значение 1, а именно 1-я, 2-я, 3-я, 4-я и 6-я. В этих строках третья формула также принимает значение 1. Следовательно,


[math](X\land Y)\to\lnot Z,\quad X\to Z\vDash\lnot(X\land Y).[/math]

Предлагается, глядя на таблицу, обнаружить еще какие-нибудь логические следствия одних формул из других.




Признаки логического следствия


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


Теорема 6.3 (признак логического следствия). Формула Нбудет логическим следствием формулы [math]F[/math] тогда и только тогда, когда формула [math]F\to H[/math] является тавтологией: [math]F\vDash H\Leftrightarrow\vDash F\to H[/math].


Доказательство. Необходимость. Дано: [math]F(X_1,\ldots,X_n)\vDash H(X_1,\ldots,X_n)[/math], т.е. если для набора высказываний [math]A_1,\ldots,A_n[/math] имеет место [math]\lambda\bigl(F(A_1,\ldots,A_n)\bigr)=1[/math], то [math]\lambda\bigl(H(A_1,\ldots,A_n)\bigr)=1[/math]. Тогда для любого набора высказываний [math]A_1,\ldots,A_n[/math] имеет место равенство


[math]\lambda\bigl(F(A_1,\ldots,A_n)\bigr)\to \lambda \bigl(H(A_1,\ldots,A_n)\bigr),[/math]

поскольку равенство нулю возможно лишь в том случае, когда [math]\lambda\bigl(F(A_1,\ldots,A_n)\bigr)=1[/math] и [math]\lambda\bigl(H(A_1,\ldots,A_n)\bigr)=0[/math], но такая ситуация исключена условием. Следовательно, на основании равенства (1.4) [math]\lambda\bigl(F(A_1,\ldots,A_n)\to H(A_1,\ldots,A_n)\bigr)=1[/math] для любых высказываний [math]A_1,\ldots,A_n[/math]. Это означает, что формула [math]F(X_1,\ldots,X_n)\to H(X_1,\ldots,X_n)[/math] — тавтология, т.е. [math]\vDash F\to H[/math].


Достаточность. Дано: [math]\vDash F\to H[/math]. Тогда: [math]\lambda\bigl(F(A_1,\ldots,A_n)\bigr)\to H(A_1,\ldots,A_n)=1[/math] для любых высказываний [math]A_1,\ldots,A_n[/math], откуда в силу равенства (1.4)


[math]\lambda\bigl(F(A_1,\ldots,A_n)\bigr)\to \lambda\bigl(H(A_1,\ldots,A_n)\bigr)=1.[/math]

Предположим теперь, что [math]\lambda\bigl(F(A_1, \ldots, A_n)\bigr)=1[/math]. Тогда: [math]1\to \lambda\bigl(H(A_1, \ldots, A_n)\bigr)=1[/math], откуда (на основании определения 1.7) [math]\lambda\bigl(H(A_1,\ldots,A_n)\bigr)=1[/math], ибо в противном случае [math]1\to 0=1[/math] — противоречие. Но это значит (по определению 6.1 логического следствия), что [math]F\vDash H[/math].


Следующая теорема дает признаки того, что формула является логическим следствием двух или большего количества формул.




Теорема 6.4. Для любых формул [math]F_1,F_1,\ldots,F_m,H~(m \geqslant 2)[/math] следующие утверждения равносильны:


а) [math]F_1,F_1,\ldots,F_m\vDash H[/math];
б) [math]F_1\land F_1\land \ldots\land F_m\vDash H[/math];
в) [math]\vDash (F_1\land F_1\land \ldots\land F_m)\to H[/math].

Доказательство. Утверждения б) и в) равносильны на основании предыдущей теоремы. Докажем равносильность утверждений а) и б).


а) [math]\Rightarrow[/math] б). Дано: [math]F_1,F_2, \ldots,F_m \vDash H[/math]. Покажем, что [math]F_1\land F_2\land \ldots\land F_m\vDash H[/math]. Пусть [math]A_1,\ldots,A_n[/math] — такие конкретные высказывания, что


[math]\lambda\bigl( F_1(A_1,\ldots,A_n)\land \ldots\land F_m(A_1,\ldots,A_n)\bigr)=1.[/math]
(6.1)
Тогда по равенству (1.2)
[math]\lambda\bigl( F_1(A_1,\ldots,A_n)\bigr)\land \ldots\land \lambda\bigl(F_m(A_1,\ldots,A_n)\bigr)=1.[/math]
(6.2)
Отсюда по определению 1.3
[math]\lambda\bigl( F_1(A_1,\ldots,A_n)\bigr)=1,\quad \ldots,\quad \lambda\bigl(F_m(A_1,\ldots,A_n)\bigr)=1.[/math]
(6.3)

Но поскольку по условию [math]F_1, F_2, \ldots, F_m\vDash H[/math], то отсюда следует. что [math]\lambda\bigl(H(A_1,\ldots,A_n)\bigr)=1[/math]. Следовательно, [math]F_1\land F_2\land \ldots\land F_m\vDash H[/math].


б) [math]\Rightarrow[/math] а). Дано: [math]F_1\land F_2\land \ldots\land F_m\vDash H[/math]. Покажем, что [math]F_1, F_2, \ldots, F_m\vDash H[/math]. Предположим, что справедливы все соотношения (6.3) для некоторых [math]A_1,\ldots,A_n[/math]. Тогда имеет место соотношение (6.2), из которого на основании равенства (1.2) приходим к соотношению (6.1). Из последнего на основании условия [math]F_1\land F_2\land \ldots\land F_m\vDash H[/math] заключаем: [math]\lambda\bigl(H(A_1,\ldots,A_n)\bigr)=1[/math]. Но это и означает, что [math]F_1, F_2, \ldots, F_m\vDash H[/math].




Два свойства логического следования


Свойства, формулируемые в теореме 6.5, используются для доказательства того, что какая-то формула является логическим следствием некоторых формул (см. пример 6.2).


Теорема 6.5. Отношение логического следования между формулами алгебры высказываний обладает следующими свойствами:


а) [math]F_1, F_2, \ldots, F_m\vDash F_i[/math] для [math]i=1,3,\ldots,m[/math];
б) если [math]F_1, F_2, \ldots, F_m\vDash G_i[/math] для [math]j=1,2,\ldots,p[/math] и [math]G_1,G_2,\ldots,G_p\vDash H[/math], то [math]F_1, F_2, \ldots, F_m\vDash H[/math].

Доказательство. а) Фактически это свойство состоит в следующем: [math]F_i\vDash F_i[/math]. Оно непосредственно вытекает из определения 6.1 логического следования и означает, что отношение логического следования рефлексивно.


б) В частном случае при [math]m=p=1[/math] данное свойство утверждает: если [math]F\vDash G[/math] и [math]G\vDash H[/math], то [math]F\vDash H[/math]. Другими словами, отношение логического следования транзитивно. Докажем исходное утверждение. Строим таблицу истинности для всех формул, указанных в утверждении б), перечислив все пропозициональные переменные [math]X_1,X_2,\ldots,X_n[/math], входящие хотя бы в одну из этих формул. Рассмотрим какую-нибудь строку этой таблицы, в которой каждая формула [math]F_1,F_2,\ldots,F_m[/math] получает истинностное значение, равное 1. Тогда на основании условий каждая из формул [math]G_1,G_2,\ldots,G_p[/math] также принимает истинностное значение, равное 1. Следовательно, и [math]H[/math] имеет значение 1. Таким образом, для всякого набора истинностных значений переменных [math]X_1,X_2,\ldots,X_n[/math], для которого каждая формула [math]F_1,F_2,\ldots,F_m[/math] принимает значение 1, формула Я также принимает значение 1. Это означает, что [math]F_1,F_2,\ldots,F_m\vDash H[/math].




Следование и равносильность формул


Если говорить о следовании из одной формулы другой, то получаем бинарное отношение на совокупности всех формул алгебры высказываний. Две формулы [math]F[/math] и [math]H[/math] (в указанном порядке) находятся в данном отношении, если [math]F\vDash H[/math].


Ранее рассмотрены бинарные отношения равносильности на совокупности всех формул алгебры высказываний. Две формулы [math]F[/math] и [math]H[/math] (в указанном порядке) находятся в этом отношении, если [math]F\cong H[/math]. Там же (следствие 4.3) установлено, что отношение равносильности формул есть отношение эквивалентности. Установим взаимосвязь между отношением равносильности и отношением следования.


Теорема 6.6. Две формулы алгебры высказываний равносильны тогда и только тогда, когда каждая из них является логическим следствием другой:


[math]F\cong H\quad \Rightarrow\quad F\vDash H[/math] и [math]H\vDash F[/math].

Доказательство. Необходимость. Дано: [math]F\cong H[/math]. По определению равносильности обе формулы [math]F(X_1,\ldots,X_n)[/math] и [math]H(X_1,\ldots,X_n)[/math] для любых конкретных высказываний [math]A_1,\ldots,A_n[/math] превращаются в высказывания [math]F(A_1,\ldots,A_n)[/math] и [math]H(A_1,\ldots,A_n)[/math], которые одновременно либо оба истинны, либо оба ложны. А раз так, то каждое из высказываний


[math]F(A_1,\ldots,A_n)\to H(A_1,\ldots,A_n)[/math] и [math]H(A_1,\ldots,A_n)\to F(A_1,\ldots,A_n)[/math]

истинно для любых конкретных высказываний [math]A_1,\ldots,A_n[/math]. Это означает, что [math]\vDash F\to H[/math] и [math]\vDash H\to F[/math], откуда, по теореме 6.3, [math]F\vDash H[/math] и [math]H\vDash F[/math].


Достаточность. Дано: [math]F\vDash H[/math] и [math]H\vDash F[/math]. Тогда, по теореме 6.3, [math]\vDash F\to H[/math] и [math]\vDash H\to F[/math]. Поскольку формула [math]F\to H[/math] всегда превращается в истинное высказывание и формула [math]H\to F[/math] всегда превращается в истинное высказывание, то и их конъюнкция [math](F\to H)\land (H\to F)[/math] является формулой, которая превращается в истинное высказывание всегда, т.е. [math]\vDash(F\to H)\land (H\to F)[/math]. Но на основании теоремы 4.4, пункт ч),


[math](F\to H)\land (H\to F)\cong F\leftrightarrow H\,.[/math]

Тогда по замечанию 4.7 имеем [math]\vDash F\leftrightarrow H[/math], а по теореме 4.2 [math]F\cong H[/math]. Итак, теорема доказана.


Замечание 6.7. Если некоторая формула является тавтологией, то и всякое ее логическое следствие также является тавтологией. Символически это можно записать так: [math]\vDash F[/math] и [math]F\vDash H\Rightarrow\vDash H[/math].


Продумайте это утверждение самостоятельно.




Правила логических умозаключений


Теперь можем рассмотреть примеры структур правильного мышления, т.е. ответить на вопрос, что из чего следует.


Начнем с тавтологии из теоремы 3.1, пункт к): [math]\vDash(F\land (F\to G))\to G[/math]. (На основании замечания 3.7 пропозициональные переменные [math]P[/math] и [math]Q[/math] заменены произвольными формулами [math]F[/math] и [math]G[/math] алгебры высказываний.) На основании теоремы 6.4 заключаем, что [math]F,F\to G\vDash G[/math]. Полученную схему, или правило вывода (умозаключения), также называют правилом modus ponens.


Правило 6.8 (modus ponens): [math]\frac{F,F\to G}{G}[/math].


Это правило означает, что от утверждения об истинности посылки [math]F[/math] с помощью другой посылки [math]F\to G[/math] переходят к утверждению об истинности следствия [math]G[/math]. Данное правило называют также правилом заключения или отделения (от посылки [math]F\to G[/math] с помощью посылки [math]F[/math] отделяется заключение [math]G[/math]). По теореме 3.5 правилу 6.8 можно придать несколько иной смысл: если формулы, стоящие в числителе, являются тавтологиями, то и формула в знаменателе — также тавтология.


Не менее важное и широко применяемое в рассуждениях правило умозаключения получается на основе тавтологии теоремы 3.1, пункт л).


Правило 6.9 (modus fallens): [math]\frac{F\to G,\lnot G{\lnot F}[/math].


Оно называется правилом modus tollens: от отрицания истинности посылки [math]G[/math] с помощью посылки [math]F\to G[/math] переходят к отрицанию истинности [math]F[/math].


Таким образом, рассмотренные правила вывода 6.8 и 6.9 позволяют в истинной импликации [math]F\to G[/math] из истинности посылки [math]F[/math] делать вывод об истинности следствия [math]G[/math], а из ложности следствия [math]G[/math] — о ложности посылки [math]F[/math].


Укажем еще некоторые правила вывода, применяемые в рассуждениях. Путь их получения состоит в том, что сначала заменяем в соответствующей тавтологии каждую пропозициональную переменную произвольной формулой алгебры высказываний, в результате чего на основании теоремы 3.6 снова получаем тавтологию, а затем от нее по теореме 6.3 переходим к соответствующему правилу вывода (умозаключения), которое и записываем в принятой форме. Так, тавтология теоремы 3.3, пункт б) дает следующее правило вывода:


Правило 6.10 (введения конъюнкции): [math]\frac{F,G}{F\land G}[/math].


Из тавтологий теоремы 3.2, пункт б) приходим к таким правилам вывода:


Правило 6.11 (удаления конъюнкции): [math]\frac{F\land G}{F}\,,~~ \frac{F\land G}{G}[/math].


Правило 6.12 (введения дизъюнкции): [math]\frac{F}{F\land G}\,,~~ \frac{G}{F\land G}[/math].


Смысл названий этих правил виден из характера их действия. Из тавтологии теоремы 3.1, пункт д) получаем правило контрапозиции.


Правило 6.13 (контрапозиции): [math]\frac{F\to G}{lnot G\tolnot F}[/math].


Из тавтологии теоремы 3.1, пункт е) вытекает правило цепного заключения (или правило силлогизма).


Правило 6.14 (цепного заключения): [math]\frac{F\to G,G\to H}{F\to H}[/math].


Из тавтологии теоремы 3.1, пункт м) следует правило перестановки посылок.


Правило 6.15 (перестановки посылок): [math]\frac{F\to(G\to H)}{G\to(F\to H)}[/math].


Наконец, из тавтологии теоремы 3.1, пункт н) получаем следующие правила:


Правила 6.16 (объединения и разъединения посылок): [math]\frac{F\to(G\to H)}{(F\land G)\to H}\,,~~ \frac{(F\land G)\to H}{F\to (G\to H)}[/math].


Правило 6.17 (расширенной контрапозиции): [math]\frac{(F\land G)\to H}{(F\land\lnot H)\to\lnot G}[/math].


Аналогично формулируются другие правила вывода тавтологий, что рекомендуется проделать самостоятельно.


На правила 6.8–6.17 можно смотреть с двух точек зрения. Во-первых, каждое из них представляет собой утверждение следующего типа: формула, записанная в знаменателе, является логическим следствием всех формул, записанных в числителе данного правила. Во-вторых, каждое из этих правил можно рассматривать как правило получения новой тавтологии из уже имеющихся: если все формулы, записанные в числителе, являются тавтологиями, то тавтологией будет и формула, записанная в знаменателе правила (для доказательства этого утверждения примените замечание 6.7).




Способ проверки логического следования


Требуется выяснить, является ли формула [math]H(X_1,\ldots,X_n)[/math] логическим следствием формул


[math]F_1(X_1,\ldots,X_n),\ldots, F_m(X_1,\ldots,X_n)[/math], то есть [math]F_1,F_2,\ldots,F_m\vDash H[/math].

Предположим, что [math]H[/math] не есть логическое следствие формул [math]F_1,F_2,\ldots,F_m[/math]. Значит, существуют такие конкретные высказывания [math]A_1,\ldots,A_m[/math], что высказывание [math]H(A_1,\ldots,A_m)[/math] ложно, в то время как все высказывания [math]F_1(A_1,\ldots,A_m),\ldots, F_m(A_1,\ldots,A_m)[/math] истинны. Если при этом удается найти распределение нулей и единиц между значениями переменных [math]{ X_1,\ldots,X_n}[/math], соответствующее сделанному предположению, то предположение верно. Если же возникает противоречие, то предположение неверно. Посмотрим на примерах, как это делается.




Пример 6.18. Выясните, выполняется ли логическое следование


[math]X\to (\lnot Y\lor Z),~ \lnot X,~ Y\to Z\vDash X\lor Z\,.[/math]

Допустим, что существуют такие конкретные высказывания [math]A,B,C[/math], что


[math]\lambda\bigl(A\to (\lnot B\lor C)\bigr)=1,~ \lambda(\lnot A)=1,~ \lambda(B\to C)=1[/math], но [math]\lambda(A\lor C)=0[/math].

Тогда из последнего соотношения получаем [math]\lambda(A)=0,~ \lambda(C)=0[/math], что не противоречит соотношению [math]\lambda(lnot A)=1[/math]. Далее, соотношение [math]\lambda(B\to C)=1[/math] дает [math]\lambda(B)=0[/math] (так как [math]\lambda(C)=0[/math]). Наконец, вычислив при данных значениях [math]A,\,B[/math] и [math]C[/math] значение [math]\lambda(A\to (\lnot B\lor C))[/math], убеждаемся что оно равно 1, а это находится в полном соответствии с допущением. Следовательно, приходим к выводу: если высказывания [math]A,B,C[/math] таковы, что [math]\lambda(A)= \lambda(B)= \lambda(C)=0[/math], то при подстановке [math]X=A,[/math] [math]Y=B,[/math] [math]Z=C[/math] формулы-посылки примут значение 1, а формула [math]X\lor Z[/math] примет значение 0. Значит, формула [math]X\lor Z[/math] не выводима из формул [math]X\to(\lnot Y\to Z),[/math] [math]\lnot X,~ Y\to Z[/math].




Нахождение следствий из данных посылок


Мы научились определять, является ли данная формула логическим следствием некоторых других данных формул. Теперь возникает вопрос, как можно находить все формулы, являющиеся логическим следствием данной совокупности формул. Следующая теорема дает ключ к решению этой задачи.


Теорема 6.19. Формула [math]H(X_1,\ldots,X_n)[/math], не являющаяся тавтологией, тогда и только тогда будет логическим следствием формул [math]F_1(X_1,\ldots,X_n),\ldots, F_m(X_1,\ldots,X_n)[/math], не все из которых являются тавтологиями, когда все совершенные дизъюнктивные одночлены из разложения формулы Не совершенную конъюнктивную нормальную форму входят в совершенную конъюнктивную нормальную форму формулы


[math]F_1(X_1,\ldots,X_n)\land \ldots\land F_m(X_1,\ldots,X_n).[/math]

Доказательство. Необходимость. Дано: [math]F_1,\ldots,F_m\vDash H[/math].Тогда, по теореме 6.4, [math]F_1\land \ldots\land F_m\vDash H[/math]. Найдем для формул [math]F_1\land \ldots\land F_m[/math] и [math]H[/math] их совершенные конъюнктивные нормальные формы. Такая форма для каждой не тождественно истинной формулы существует и единственна с точностью до порядка совершенных дизъюнктивных одночленов в конъюнкции (см. теорему 5.5). Пусть [math]D_1\land \ldots\land D_k[/math] — СКН-формадля формулы [math]F_1\land \ldots\land F_m[/math], а [math]H_1\land \ldots\land H_{\ell}[/math] — СКН-форма для формулы [math]H[/math]. Тогда:


[math]F_1\land \ldots\land F_m\cong D_1\land \ldots\land D_k,\quad H\cong H_1\land \ldots\land H_{\ell}[/math]

Допустим, что заключение теоремы не выполняется, т. е. среди совершенных дизъюнктивных одночленов [math]H_1,\ldots,H_{\ell}[/math] имеется такой, которого нет среди совершенных дизъюнктивных одночленов [math]D_1,\ldots,D_k[/math]. He нарушая общности (ввиду несущественности порядка вхождения одночленов [math]H_1,\ldots,H_{\ell}[/math], в СКН-форму [math]H_1\land \ldots\land H_{\ell}[/math], можем считать, что таким одночленом является, например, [math]H_1[/math]. Итак,


[math]H_1(X_1,\ldots,X_n) \not\cong D_1(X_1,\ldots,X_n),~ \ldots,~ H_{\ell}(X_1,\ldots,X_n) \not\cong D_{k}(X_1,\ldots,X_n).[/math]

Тогда существует единственный (с точки зрения логических значений) набор [math]A_1,\ldots,A_n[/math], на котором совершенный дизъюнктивный одночлен [math]H_1(X_1,\ldots,X_n)[/math] принимает значение 0: [math]\lambda\bigl(H_1(X_1,\ldots,X_n)\bigr)=0[/math], откуда


[math]\lambda\bigl(H(A_1,\ldots,A_n)\bigr)=0.[/math]
(1)

Этот набор выбирается следующим образом. Если переменная [math]X_i[/math] входит в [math]H_1[/math] без знака отрицания, то [math]A_i[/math] таково, что [math]\lambda(A_i)=0[/math]; если [math]X_i[/math] входит в [math]H_1[/math] со знаком отрицания, то [math]A_i[/math] таково, что [math]\lambda(A_i)=1[/math] [math](1 \leqslant i \leqslant n)[/math]. Каждый из совершенных дизъюнктивных одночленов [math]D_1,\ldots,D_k[/math] в силу его отличия от совершенного дизъюнктивного одночлена [math]H_1[/math] обращается на данном наборе в 1 (почему?):


[math]\lambda\bigl(D_1(A_1,\ldots,A_n)\bigr)=1,~ \ldots,~ \lambda\bigl(D_k(A_1, \ldots,A_n)\bigr)=1[/math]. Тогда [math]\lambda\bigl(D_1(A_1,\ldots,A_n) \land \ldots\land D_k(A_1,\ldots,A_n)\bigr)=1[/math],

откуда, в силу равносильности [math]D_1\land \ldots\land D_k\cong F_1\land \ldots\land F_m[/math] получаем


[math]\lambda\bigl(F_1(A_1,\ldots,A_n)\land \ldots\land F_m(A_1,\ldots,A_n)\bigr)=1[/math]

Следовательно, [math]\lambda\bigl(F_1(A_1,\ldots,A_n)\bigr)\land \ldots\land \lambda\bigl(F_m(A_1,\ldots,A_n)\bigr)=1[/math]. а значит,


[math]\lambda\bigl(F_1(A_1,\ldots,A_n)\bigr)=1,\quad \ldots,\quadf \lambda\bigl(F_m(A_1,\ldots,A_n)\bigr)=1.[/math]
(2)

Соотношения (1) и (2) противоречат условию: [math]F_1,\ldots,F_m\vDash H[/math]. Следовательно, в СКН-форме формулы [math]H[/math] нет ни одного совершенного дизъюнктивного одночлена, который отсутствовал бы в СКН-форме формулы [math]F_1\land \ldots\land F_m[/math].


Достаточность. Пусть [math]D_1\land \ldots\land D_k[/math] — СКН-форма формулы [math]F_1\land \ldots\land F_m[/math]. Тогда [math]F_1\land \ldots\land F_m\cong D_1\land \ldots\land D_k[/math]. Пусть далее [math]H\cong D_{i1}\land \ldots\land D_{is}[/math], где [math]1 \leqslant i_1,\ldots,i_s \leqslant k[/math] и [math]i_1,\ldots,i_s[/math] попарно различны. Тогда ясно, что если при некоторой подстановке формула [math]F_1\land \ldots\land F_m[/math] принимает истинное значение, то и равносильная ей формула [math]D_1\land \ldots\land D_k[/math] также принимает значение 1. Следовательно, и все члены [math]D_{1}\land \ldots\land D_{k}[/math] последней конъюнкции принимают значение 1, включая члены [math]D_{i1}\land \ldots\land D_{is}[/math]. Но тогда и конъюнкция [math]D_{i1}\land \ldots\land D_{is}\cong H[/math] также принимает значение 1. Значит, [math]F_1,\ldots,F_m\cong H[/math].


Эта теорема определяет следующее правило (алгоритм) для нахождения всех (неравносильных) формул, являющихся логическими следствиями из посылок [math]F_1,\ldots,F_m:[/math])


1) составить конъюнкцию [math]F_1\land \ldots\land F_m[/math];

2) найти СКН-форму формулы [math]F_1\land \ldots\land F_m[/math];

3) выписать все совершенные дизъюнктивные одночлены найденной СКН-формы, а также всевозможные конъюнкции этих одночленов. Полученное множество формул и является искомым.




Нахождение посылок для данного следствия


Задача нахождения всех формул, из которых данная формула логически следует, является обратной по отношению к той, которая была рассмотрена в предыдущем пункте. Ее решение основывается на следующей теореме.


Теорема 6.20. Чтобы найти все формулы, логическим следствием каждой из которых будет данная формула [math]G(X_1,\ldots,X_n)[/math], нужно действовать по следующему алгоритму. Найти СКН-форму для формулы [math]G(X_1,\ldots,X_n)[/math]; выявить все совершенные дизъюнктивные одночлены, которые в ней отсутствуют; составить всевозможные конъюнкции формулы [math]G(X_1,\ldots,X_n)[/math] с недостающими дизъюнктивными одночленами. Получившаяся совокупность формул (вместе с формулой [math]G[/math]) будет искомой (с точностью до равносильности формул).


Доказательство. Ясно, что из каждой формулы этой совокупности будет логически следовать формула [math]G[/math], так как [math]G\land H\vDash G[/math] (конъюнкция сильнее каждого из сомножителей). Обратно, покажем, что каждая формула [math]F[/math], из которой логически следует данная формула [math]G[/math], имеет указанный вид, т.е. представляет собой конъюнкцию формулы [math]G[/math] и некоторых совершенных дизъюнктивных одночленов, отсутствующих в СКН-форме для [math]G[/math]. В самом деле, пусть [math]F\vDash G[/math] и


[math]G\cong D_1\land D_2\land \ldots\land D_k[/math] — СКН-форма для формулы [math]G(X_1,\ldots,X_n)[/math] и
[math]F\cong \Delta_1\land \Delta_2\land \ldots\land \Delta_s[/math] - СКН-форма для формулы [math]F(X_1,\ldots,X_n)[/math].

По определению логического следования, [math]F\vDash G[/math] означает, что если формула [math]F(X_1,\ldots,X_n)[/math] на некотором наборе [math]A_1,\ldots,A_n[/math] значений пропозициональных переменных приняла значение 1, то и формула [math]G(X_1,\ldots,X_n)[/math] на этом наборе примет значение 1. Другими словами, если формула [math]G(X_1,\ldots,X_n)[/math] на некотором наборе [math]A_1,\ldots,A_n[/math] значений пропозициональных переменных принимает значение 0, то и формула [math]F(X_1,\ldots,X_n)[/math] на этом наборе принимает значение 0. Но все наборы значений переменных, на которых [math]G[/math] принимает значение 0, находятся во взаимно-однозначном соответствии с совершенными дизъюнктивными одночленами [math]D_1,D_2,\ldots,D_s[/math], образующими СКН-форму для формулы [math]G[/math], т.е. если [math]G(A_1,\ldots,A_n)=0[/math], то [math]D_i(A_1,\ldots,A_n)=0[/math] для некоторого [math]1 \leqslant i \leqslant k[/math]. Следовательно, [math]F(A_1,\ldots,A_n)=0[/math] и значит на этом же наборе принимает значение 0 некоторый совершенный дизъюнктивный одночлен [math]\Delta_i[/math], входящий в ее СКН-форму. Но тогда этот одночлен совпадает с одночленом [math]D_i[/math]. Таким образом, каждый совершенный дизъюнктивный одночлен [math]D_i[/math] из СКН-формы для [math]G[/math] входит в СКН-форму для формулы [math]F[/math], т.е. СКН-форма для [math]F[/math] имеет вид:


[math]F\cong D_1\land D_2\land \ldots\land D_k\land \Delta_{k+1}\land \ldots\land \Delta_{s}[/math]

где [math]\Delta_{k+2},\ldots,\Delta_{s}[/math] — совершенные дизъюнктивные одночлены от переменных [math]{ X_1,\ldots,X_n}[/math], не входящие в СКН-форму для формулы [math]G[/math].


Часовой пояс: UTC + 4 часа [ Летнее время ]


Яндекс.Метрика

Copyright © 2010-2016 MathHelpPlanet.com. All rights reserved