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

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

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

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

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


Формулы алгебры высказываний

Формулы алгебры высказываний


Построение сложных высказываний


С помощью логических операций, рассмотренных в предыдущей лекции, из простейших высказываний можно строить высказывания более сложные. Например, из высказываний [math]A_2,A_3,A_7[/math] можно построить такое высказывание: "Если Саратов находится на берегу Невы и все люди смертны, то А.С. Пушкин — великий русский математик". Построенное высказывание символически записывается так: [math](A_2\land A_3)\to A_7[/math]. Конечно, оно звучит несколько странно, поскольку соединяет в себе столь разнородные понятия, которые обычно существуют раздельно друг от друга. Но нас, еще раз подчеркиваем, интересует не содержание этого высказывания, а его логическое значение. Оно может быть определено, исходя из логических значений исходных высказываний [math]A_2,A_3,A_7[/math] и той схемы, по которой из исходных высказываний построено сложное высказывание. Так как [math]\lambda(A_2)=0,[/math] [math]\lambda(A_3)=1,[/math] [math]\lambda(A_7)=0[/math], то, используя соотношения (1.4), (1.2) и определения 1.7, 1.3, находим:


[math]\begin{aligned}\lambda\bigl[(A_2\land A_3)\to A_7\bigr]&= \lambda(A_2\to A_3)\to \lambda(A_7)=\\ &=\bigl(\lambda(A_2)\land \lambda(A_3)\bigr)\to \lambda(A_7)=\\ &=(0\land1)\to0= 0\to0=1\end{aligned}[/math]

Итак, высказывание [math](A_2\land A_3)\to A_7[/math] истинно.


Для конструирования данного сложного высказывания из простейших высказываний [math]A_2,\,A_3[/math] и [math]A_7[/math] нужно применить операцию конъюнкции к первым двум высказываниям, а затем к полученному высказыванию и к третьему исходному высказыванию применить операцию импликации. Это словесное описание схемы конструирования данного сложного высказывания можно заменить описанием символическим: [math](X\land Y)\to Z[/math], где [math]X,Y,Z[/math] — некоторые символы (переменные), вместо которых можно подставить любые конкретные высказывания. Такая схема конструирования составного высказывания может быть применена к различным конкретным высказываниям, а не только к высказываниям [math]A_2,A_3,A_7[/math]. Например, по этой схеме" из высказываний [math]A_4,A_8,A_5[/math] построим высказывание "Если Сократ — человек и снег — белый, то [math]7<4[/math]". Находим его логическое значение:


[math]\begin{aligned}\lambda\bigl[(A_4\land A_6)\to A_5\bigr]&= \lambda(A_4\land A_8)\to \lambda(A_5)=\\ &=\bigl(\lambda(A_4)\land \lambda(A_8)\bigr)\to \lambda(A_5)=\\ &=(1\land1)\to0= 1\to0=0.\end{aligned}[/math]

Таким образом, та же самая схема построения составного высказывания привела к ложному высказыванию. Однако ввиду разнородности понятий, которыми оперируют исходные высказывания [math]A_4,A_8,A_5[/math], трудно на интуитивной основе судить об истинности высказывания [math](A_4\land A_8)\to A_5[/math].


По рассматриваемой схеме построено и следующее высказывание: "Если 100 делится на 5 и 100 делится на 2, то 100 делится на 10". Формальное вычисление логического значения данного высказывания показывает, что оно истинно, с чем вполне согласуются наши интуитивные представления об этом высказывании.


Итак, символическая запись [math](X\land Y)\to Z[/math] является своего рода формулой. Конечно, более привычны формулы типа [math]S=\pi r^2[/math] (формула площади круга), [math]E=mgh[/math] (формула потенциальной энергии тела) и им подобные. Тем не менее выражение [math](X\land Y)\to Z[/math] также можно считать формулой — формулой схемы конструирования составных высказываний из более простых.




Понятие формулы алгебры высказываний


В формулу [math](X\land Y)\to Z[/math] вместо переменных [math]X,Y,Z[/math] можно подставлять конкретные высказывания, после чего вся формула будет превращаться в некоторое составное высказывание. Переменные, вместо которых можно подставлять высказывания, т.е. переменные, пробегающие множество высказываний, называют пропозициональными переменными, или высказывательными переменными, или переменными высказываниями. Будем обозначать пропозициональные переменные заглавными буквами латинского алфавита [math]P,Q,R,S,X,Y,Z[/math] или такими же буквами с индексами


[math]P_1,P_2,\ldots,\qquad Q_1,Q_2,\ldots,\quad X_1,X_2,\ldots,\quad, Y_1,Y_2,\ldots[/math]

Теперь дадим точное определение формулы алгебры высказываний.


Определение 2.1


1. Каждая отдельно взятая пропозициональная переменная есть формула алгебры высказываний.


2. Если [math]F_1[/math] и [math]F_2[/math] — формулы алгебры высказываний, то выражения также являются формулами алгебры высказываний:


[math]\lnot F_1,\quad F_1\land F_2,\quad F_1\lor F_2,\quad F_1\to F_2,\quad F_1\leftrightarrow F_2.[/math]

3. Никаких других формул алгебры высказываний, кроме получающихся согласно пунктам 1 и 2, нет.


Определения такого типа называются индуктивными. В них имеются прямые пункты (в данном случае п. 1 и п. 2), где задаются объекты, которые в дальнейшем именуются определяемым термином (в данном случае — формулами алгебры высказываний), и косвенный пункт (в данном случае п. 3), в котором говорится, что такие объекты исчерпываются объектами, заданными в прямых пунктах. Среди прямых пунктов имеются базисные пункты (в данном случае п. 1), где указываются некоторые конкретные объекты, именуемые в дальнейшем определяемым термином, и индуктивные пункты (в данном случае п. 2), где даются правила получения определяемых объектов, в частности из объектов, перечисленных в базисных пунктах.


В данной лекции формулы алгебры высказываний будем называть просто формулами. Есть и другие названия для понятия формулы: правильно построенная формула или правильно построенное выражение, но они представляются менее предпочтительными. Само определение формулы, носящее индуктивный характер, на первых порах кажется непривычным. Определения такого типа вам ранее не встречались. Лучшее понимание этого определения наступит, когда вы научитесь применять его для определения того, является или не является формулой последовательность символов (слово), составленная из пропозициональных переменных, символов логических операций и скобок.


К этому полезно добавить следующее. Для каждой формулы должна существовать конечная последовательность всех ее подформул, т.е. такая конечная последовательность, которая начинается с входящих в данную формулу пропозициональных переменных, заканчивается самой этой формулой, и каждый член этой последовательности, не являющийся пропозициональной переменной, есть либо отрицание уже имеющегося члена этой последовательности, либо получается из двух уже имеющихся членов этой последовательности их соединением с помощью одного из знаков [math]\land,~ \lor,~ \to,~ \leftrightarrow[/math] и заключением полученного выражения в скобки. Такую последовательность всех подформул данной формулы иногда называют порождающей последовательностью для данной формулы. Наличие такой последовательности у логического выражения служит критерием того, что выражение является формулой. Это свойство отличает формулы.


Приведем примеры формул. На основании п. 1 определения 2.1 формулами будут пропозициональные переменные:


[math]P,Q,R,X,Y,Z;\quad P_1,P_2,\ldots,\quad Q_1,Q_2,\ldots,\quad X_1,X_2,\ldots[/math]

Далее на основании п. 2 того же определения из этих формул построим следующие:


[math]\lnot P,~ \lnot Q,~ \lnot X,~ \lnot Y,\lnot Z,\quad P\lor R,~ X\land Y,~ X\to Z,~ Q\leftrightarrow R,~ Y\lor Z\,.[/math]

Из построенных формул также на основании п. 2 строим еще более сложные формулы:


[math]\lnot P\land \lnot Q,~ P\land \lnot P, (X\land Y)\to Z,~ (X\to Z)\land (Y\lor Z),~ (P\lor R)\to (Q\leftrightarrow R),~ (X\to Z)\to Y.[/math]

Ясно, что процесс построения все более сложных формул может продолжаться безгранично.


Приведем примеры выражений, не являющихся формулами. Это в каком-то смысле нелепые выражения. К примеру, выражение [math](XY)\to Z[/math] было бы формулой на основании п. 2 определения 2.1, если бы формулами были выражения [math](XY)[/math] и [math]Z[/math]. Выражение [math]Z[/math] есть пропозициональная переменная и потому на основании п. 1 определения 2.1 является формулой. Рассмотрим выражение [math](XY)[/math]. Оно было бы формулой, если бы между формулами [math]X[/math] и [math]Y[/math] стоял один из знаков логических связок. Но такого знака нет. Следовательно, выражение [math](XY)[/math] не формула, и исходное выражение [math](XY)\to Z[/math] формулой также не является.


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


Вот еще примеры выражений, не являющихся формулами (убедитесь в этом самостоятельно):


[math](P\lnot Q)\land (P\to\lnot R),\quad P\land Q\lor R,\quad (X\to)\land Z,\quad (X\lor\lnot Y)\to (\lnot X\land\lnot Y)[/math]

То, что последнее выражение не является формулой, может сначала вызвать недоумение. Но после сопоставления его с п. 2 определения 2.1 отмечаем, что в последнем выражении недостает внешних скобок для того, чтобы считать его формулой. Действительно, если бы мы сочли данное выражение формулой, то на основании п. 2 формулой было бы и выражение [math](X\lor\lnot Y)\yo (\lnot X\land\lnot Y)\leftrightarrow Z[/math]. Но оно бессмысленно, потому что неопределенно: неизвестно, какую операцию нужно выполнять первой, импликацию или эквивалентность. А от этого, как можно проверить (проверьте!), будет зависеть логическое значение составного высказывания (см. п. 3), получающегося из последнего выражения, если его превратить в формулу указанием последовательности действий и придать пропозициональным переменным [math]X,Y[/math] и [math]Z[/math] конкретные значения (высказывания). Если бы в исходном выражении стояли внешние скобки, т.е. если бы оно было формулой [math](X\lor\lnot Y)\to(\lnot X\land\lnot Y)[/math], то проделанное в предыдущем абзаце построение привело бы к формуле [math]((X\lor\lnot Y)\to(\lnot X\land\lnot Y))\leftrightarrow Z[/math].


Итак, требование внешних скобок у формулы не является излишним формализмом. Тем не менее внешние скобки придают формуле громоздкость и, если данная формула не входит составной частью в более сложную формулу, не несут никакой информации и смысловой нагрузки. Поэтому внешние скобки в окончательно записанной формуле договариваются опускать. Например, формулу [math]((X\land Y)\to Z)[/math] будем записывать в виде [math](X\land Y)\to Z[/math], а вместо формулы [math]((X\lor\lnot Y)\to(\lnot X\land\lnot Y))[/math] будем писать [math](X\lor\lnot Y)\to(\lnot X\land\lnot Y)[/math]. Но если данная формула должна будет войти составной частью в более сложную формулу, то сначала заключаем ее во внешние скобки и только потом отправляем в процедуру построения новой формулы.




Логическое значение составного высказывания


Если в формулу алгебры высказываний [math]F(X_1,X_2, \ldots,X_n)[/math] вместо пропозициональных переменных [math]X_1,X_2, \ldots,X_n[/math] подставить конкретные высказывания [math]A_1, A_2, \ldots, A_n[/math] соответственно, то получится некоторое новое составное высказывание [math]F(A_1,A_2,\ldots,A_n)[/math]. Оно называется конкретизацией формулы [math]F(X_1,X_2,\ldots,X_n)[/math] на выборе высказываний [math]A_1,A_2,\ldots,A_n[/math]. Как определить логическое значение [math]\lambda\bigl(F(A_1,A_2,\ldots,A_n)\bigr)[/math] полученного составного высказывания, если известны логические значения [math]\lambda(A_1),\lambda(A_2),\ldots,\lambda(A_n)[/math] исходных высказываний [math]A_1,A_2,\ldots,A_n[/math]?


Прежде чем сформулировать в следующей теореме ответ на поставленный вопрос, введем одно понятие. Ранее отмечалось, что только логические значения высказываний, а не их содержание рассматриваются в алгебре высказываний. Это дает возможность несколько упростить обозначения и терминологию. Так, каждое ложное высказывание можно рассматривать как элемент 0, а каждое истинное — как элемент 1 двухэлементного множества [math]\{0;1\}[/math], и писать вместо [math]\lambda(P)=0[/math] или [math]\lambda(P)=1[/math] лишь только [math]P=0[/math] или [math]P=1[/math] соответственно. Далее, если формула [math]F(X_1,X_2,\ldots,X_n)[/math] при подстановке вместо ее пропозициональных переменных [math]X_1,X_2,\ldots,X_n[/math] высказываний [math]A_1,A_2,\ldots,A_n[/math] с логическими значениями [math]\lambda(A_1)=\alpha_1,\lambda(A_2)=\alpha_2,\ldots,\lambda(A_n)=\alpha_n[/math] превращается в высказывание [math]F(A_1,A_2,\ldots,A_n)[/math] с логическим значением [math]\lambda\bigl(F(A_1,A_2,\ldots,A_n)\bigr)=\alpha[/math], то будем говорить, что формула [math]F(X_1,X_2,\ldots,X_n)[/math] принимает значение а, если ее переменные [math]X_1,X_2,\ldots,X_n[/math] принимают значения [math]\alpha_1,\alpha_2,\ldots,\alpha_n[/math] соответственно, и писать [math]X_1=\alpha_1,X_2=\alpha_2,\ldots,X_n=\alpha_n[/math] и [math]F(\alpha_1,\alpha_2,\ldots,\alpha_n)=\alpha[/math], где [math]\alpha_1,\alpha_2,\ldots,\alpha_n\in\{0;1\}[/math]. Для нахождения значения [math]F(\alpha_1,\alpha_2,\ldots,\alpha_n)[/math] нужно подставить в формулу [math]F(X_1,X_2,\ldots,X_n)[/math] вместо пропозициональных переменных [math]X_1,X_2,\ldots,X_n[/math] значения [math]\alpha_1,\alpha_2,\ldots,\alpha_n[/math] соответственно и в полученном выражении последовательно проделать все действия с нулями и единицами, предписываемые правилами таблиц из определений 1.1, 1.3, 1.5, 1.7, 1.9. В результате получим 0 или 1. Полученное значение будем обозначать [math]F(\alpha_1,\alpha_2,\ldots,\alpha_n)[/math] и называть значением данной формулы [math]F(X_1,X_2,\ldots,X_n)[/math] на данном наборе нулей и единиц [math]\alpha_1,\alpha_2,\ldots,\alpha_n[/math]. Например, вычислим значение формулы


[math]F(X_1,X_2,X_3)\equiv (X_1\to\lnot X_2)\land\bigl(X_2\leftrightarrow (X_1\lor\lnot X_3)\bigr)[/math] на наборе [math]0,\,1,\,1:[/math]

[math]\begin{aligned}F(0,1,1)&= (0\to\lnot1)\land \bigl(1\leftrightarrow(0\lor\lnot 1)\bigr)=\\ &=(0\to0)\land \bigl(1\leftrightarrow(0\lor0)\bigr)=\\ &=1\land(1\leftrightarrow0)= 1\land0=0.\end{aligned}[/math]



Теорема 2.2. Логическое значение составного высказывания [math]F(A_1,A_2,\ldots,A_n)[/math] равно значению формулы [math]F(X_1,X_2,\ldots,X_n)[/math] на наборе [math]\lambda(A_1),\lambda(A_2),\ldots,\lambda(A_n)[/math] логических значений составляющих высказываний [math]A_1,A_2,\ldots,A_n[/math], т.е.


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

Доказательство. Докажем утверждение методом полной математической индукции по числу символов логических операций, входящих в формулу [math]F(X_1,X_2,\ldots,X_n)[/math].


Если формула [math]F(X_1,X_2,\ldots,X_n)[/math] содержит 0 символов логических операций, то она представляет собой просто пропозициональную переменную, скажем, [math]X_1[/math], т.е. [math]F(X_1,X_2,\ldots,X_n)\equiv X_1[/math] (знак [math]\equiv[/math] обозначает абсолютную тождественность двух формул, графическую одинаковость левой и правой частей). Тогда доказываемое соотношение сводится к тривиальному равенству: [math]\lambda(A_1)=\lambda(A_1)[/math].


Если формула [math]F(X_1,X_2,\ldots,X_n)[/math] содержит лишь один символ логической операции, то она является одной из следующих формул:


[math]\lnot X_1,\quad X_1\land X_2,\quad X_1\lor X_2,\quad X_1\to X_2,\quad X_1\leftrightarrow X_2.[/math]

В этих случаях доказываемое равенство есть одно из равенств (1.1)–(1.5).


Предположим теперь, что утверждающееся в теореме равенство верно для всех формул алгебры высказываний, содержащих не более к символов логических операций. Докажем, что оно верно для формулы [math]F(X_1,X_2,\ldots,X_n)[/math], содержащей [math]k+1[/math] символов логических операций. На основании определения 2.1 формула [math]F[/math] имеет один из следующих видов:


[math]\lnot F_1,\quad F_1\land F_2,\quad F_1\lor F_2,\quad F_1\to F_2,\quad F_1\leftrightarrow F_2.[/math]

где [math]F_1[/math] и [math]F_2[/math] — некоторые формулы, каждая из которых содержит уже не более к символов логических операций. Нужно провести доказательство для всех пяти случаев. Но в силу принципиальной идентичности этих доказательств проделаем его, например, для случая [math]F\equiv F_1\land F_2[/math]. Вычисляем:


[math]\begin{aligned}\lambda\bigl(F(A_1,A_2,\ldots,A_n)\bigr)&= \lambda\bigl(F_1(A_1,A_2,\ldots,A_n)\land F_2(A_1,A_2,\ldots,A_n)\bigr)=\\ &=\lambda\bigl(F_1(A_1,A_2,\ldots,A_n)\bigr)\land \lambda \bigl(F_2(A_1, A_2,\ldots,A_n)\bigr)=\\ &= F_1\bigl(\lambda(A_1), \lambda(A_2), \ldots, \lambda(A_n))\bigr)\land F_2\bigl(\lambda(A_1), \lambda(A_2), \ldots, \lambda(A_n))\bigr)=\\ &=F_1\bigl(\lambda(A_1), \lambda(A_2), \ldots, \lambda(A_n)\bigr).\end{aligned}[/math]

В проделанных вычислениях второе равенство основано на определении 1.3 логической операции конъюнкции. Третье равенство основано на предположении индукции о том, что для формул [math]F_1[/math] и [math]F_2[/math] соотношение теоремы выполняется. Наконец четвертое равенство записано на основании того, что [math]F\equiv F_1\land F_2[/math].


Аналогичным образом соотношение теоремы доказывается и во всех остальных случаях конструирования формулы [math]F[/math] из формул [math]F_1[/math] и [math]F_2[/math].


Следовательно, утверждение теоремы верно для любой формулы [math]F[/math]алгебры высказываний.


Итак, здесь необходимо понять, что логическое значение составного высказывания по существу является значением некоторого (логического) выражения при некотором наборе конкретных значений всех входящих в него (пропозициональных) переменных. При этом пропозициональные переменные могут принимать значения 0 или 1, само выражение принимает значение 0 или 1, и вычисляется это значение (в силу теоремы 2.2) посредством применения к значениям 0 и 1 предписываемых данным выражением логических действий. Логические действия над величинами 0 и 1 выполняются по правилам, определяемым таблицами истинности этих действий (операций) — отрицания, конъюнкции, дизъюнкции, импликации и эквивалентности. Таким образом, мы фактически начинаем иметь дело с некой новой (логической) алгеброй, или алгеброй логики, которая как бы "параллельна" привычной школьной алгебре. Сравним компоненты этих двух алгебр с помощью следующей таблицы:


Аналогия со школьной алгеброй будет продолжена при рассмотрении равносильных преобразований в алгебре логики.




Составление таблиц истинности для формул


На основании теоремы 2.2 можно для данной формулы [math]F[/math] алгебры высказываний найти логические значения всех тех высказываний, в которые формула превращается при подстановке вместо всех ее пропозициональных переменных различных конкретных высказываний. При этом говорят о логическом значении самой формулы и о логических значениях ее пропозициональных переменных. При нахождении логических значений формулы, соответствующих всевозможным наборам значений ее пропозициональных переменных, удобной формой записи является табличная форма. Рассмотрим примеры.


Пример 2.3. Составим таблицу истинности для формулы [math](X\to Y)\lor(Y\to X)[/math]. В первых двух столбцах таблицы выпишем всевозможные пары логических значений, которые могут принимать пропозициональные переменные [math]X[/math] и [math]Y[/math] (точнее, те высказывания, которые могут быть подставлены в формулу вместо пропозициональных переменных [math]X[/math] и [math]Y[/math]). В последующих столбцах выписываем логические значения формул [math]X\to Y,~ Y\to X[/math] и [math](X\to Y)\lor(Y\to X)[/math], образующих так называемую порождающую последовательность для данной формулы. Руководствуемся при этом определениями логических операций импликации и дизъюнкции. В результате получаем таблицу:


[math]\begin{array}{|c|c||c|c||c|}\hline \lambda(X)& \lambda(Y)& \lambda(X\to Y)& \lambda(Y\to X)& \lambda\bigl((X\to Y)\lor(Y\to X)\bigr)\\\hline 0&0&1&1&1\\\hline 0&1&1&0&1\\\hline 1&0&0&1&1\\\hline 1&1&1&1&1\\\hline \end{array}[/math]

Первые два столбца и последний столбец составленной таблицы задают соответствия между логическими значениями исходных высказываний и логическим значением составного высказывания, получаемого по данной формуле. Эти три столбца и образуют таблицу истинности данной формулы. Остальные два столбца (для логических значений [math]\lambda(X\to Y)[/math] и [math]\lambda(Y\to X)[/math] носят вспомогательный, промежуточный характер.




Пример 2.4. Составим таблицу истинности для формулы [math]F(P,Q,R)\equiv (P\land Q)\to(P\leftrightarrow\lnot R)[/math]. Она содержит три пропозициональные переменные, для которых имеются точно восемь различных наборов значений истинности. Таблица истинности для рассматриваемой формулы вместе с промежуточными столбцами выглядит следующим образом:


[math]\begin{array}{|c|c|c||c|c|c|c|}\hline \lambda(P)& \lambda(Q)& \lambda(R)& \lambda(P\land Q)& \lambda(\lnot R)& \lambda(P\leftrightarrow\lnot R)& \lambda(F) \\\hline 0&0&0&0&1&0&1\\\hline 0&0&1&0&0&1&1\\\hline 0&1&0&0&1&0&1\\\hline 0&1&1&0&0&1&1\\\hline 1&0&0&0&1&1&1\\\hline 1&0&1&0&0&0&1\\\hline 1&1&0&1&1&1&1\\\hline \end{array}[/math]

Таблицу истинности формулы можно составлять в сокращенном виде.




Пример 2.5. Составим, например, такую таблицу для формулы: [math](X\land\lnot Y)\leftrightarrow(\lnot X\lor Y)[/math] (внешние скобки у формулы, согласно договоренности, опущены). В первой строке таблицы выпишем данную формулу. Под переменными [math]X[/math] и [math]Y[/math] выписываем всевозможные наборы их логических значений. Далее столбец под первым знаком [math]\lnot[/math] заполним логическими значениями формулы [math]\lnot Y[/math], исходя из соответствующих значений переменной [math]Y[/math], а столбец под знаком [math]\land[/math] — логическими значениями формулы [math]X\land\lnot Y[/math], исходя из соответствующих логических значений формул [math]X[/math] и [math]\lnot Y[/math]. Затем заполняем столбец под вторым знаком [math]\lnot[/math] значениями формулы [math]\lnot X[/math] и столбец под знаком [math]\lor[/math] — значениями формулы [math]\lnot X\lor Y[/math]. Наконец заполняем столбец под знаком [math]\leftrightarrow[/math] логическими значениями данной формулы. В итоге получаем


[math]\begin{array}{|ccc|c|ccc|}\hline (X& \land& \lnot Y)& \leftrightarrow& (\lnot X& \lor& Y)\\\hline 0&0&1&\boldsymbol{0}&1&1&0\\ 0&0&0&\boldsymbol{0}&1&1&1\\ 1&1&1&\boldsymbol{0}&0&0&0\\ 1&0&0&\boldsymbol{0}&0&1&1\\\hline \end{array}[/math]

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


Практика составления довольно большого числа таблиц истинности есть наилучший способ прочно запомнить определения логических связок (отрицания, конъюнкции, дизъюнкции, импликации, эквивалентности) и довести до автоматизма выдачу значений любой из этих операций. Это знание необходимо для решения более содержательных задач алгебры высказываний.




Классификация формул алгебры высказываний


Формулы алгебры высказываний подразделяются на следующие типы: выполнимые, тавтологии, опровержимые и тождественно ложные.


Формула алгебры высказываний [math]F(X_1,X_2,\ldots,X_n)[/math] называется выполнимой, если некоторая ее конкретизация является истинным высказыванием, т.е. существуют такие конкретные высказывания [math]A_1,A_2,\ldots,A_n[/math], которые, будучи подставленными в эту формулу вместо переменных [math]X_1,X_2,\ldots,X_n[/math] соответственно, превращают ее в истинное высказывание. Таким образом, [math]F(X_1,X_2,\ldots,X_n)[/math] выполнима, если существуют такие конкретные высказывания [math]A_1,A_2,\ldots,A_n[/math], что [math]\lambda\bigl(F(A_1,A_2,\ldots,A_n)\bigr)=1[/math]. Выполнимой формулой является, в частности, формула, рассмотренная в примере 2.4. Она превращается в истинное высказывание, если, например, вместо пропозициональных переменных [math]P,Q,R[/math] подставить ложные высказывания. Выполнима также формула [math](X\land Y)\to Z[/math], конкретизация которой рассмотрена в начале этой лекции.


Формула [math]F(X_1,X_2,\ldots,X_n)[/math] называется тавтологией, или тождественно истинной, если она превращается в истинное высказывание при всякой подстановке вместо переменных конкретных высказываний [math]A_1,A_2,\ldots,A_n[/math], т.е. если [math]\lambda\bigl(F(A_1,A_2,\ldots,A_n)\bigr)=1[/math] для любых высказываний [math]A_1,A_2,\ldots,A_n[/math]. Формула из примера 2.3 является тавтологией. Для обозначения тавтологии используется знак [math]\vDash[/math], который ставится перед формулой, являющейся тавтологией. Таким образом, запись [math]\vDash F(X_1,X_2,\ldots,X_n)[/math]означает, что формула [math]F(X_1,X_2,\ldots,X_n)[/math] является тавтологией. В частности, для указанного примера можем записать [math]\vDash (X\to Y)\lor(Y\to X)[/math].


Формула [math]F(X_1,X_2,\ldots,X_n)[/math] называется опровержимой, если существуют такие конкретные высказывания [math]A_1,A_2, \ldots,A_n[/math], которые превращают данную формулу в ложное высказывание [math]F(A_1,A_2,\ldots,A_n)[/math], т.е. [math]\lambda(A_1,A_2,\ldots,A_n)=0[/math]. Другими словами, опровержимые формулы — это формулы, не являющиеся тавтологиями. Опровержимой является формула, рассмотренная в примере 2.4. Она обращается в ложное высказывание лишь тогда, когда вместо всех переменных [math]P,Q,R[/math] подставлены истинные высказывания. Формула [math](X\land Y)\to Z[/math] также опровержима.


Наконец, формула [math]F(X_1,X_2,\ldots,X_n)[/math] называется тождественно ложной, или противоречием, если [math]\lambda\bigl(A_1,A_2,\ldots,A_n\bigr)=0[/math] для любых конкретных высказываний [math]A_1,A_2,\ldots,A_n[/math]. Другими словами, тождественно ложные формулы — это такие формулы, которые не являются выполнимыми.


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




Мышление и математическая логика


В заключение следует отметить, что мы приступили к фундаментальному процессу исследования математическими методами такой сферы, как область человеческого мышления. Начало процессу математизации логики положено математизацией языка. Фактически построена своеобразная знаковая система (символический язык логики высказываний), с помощью которой можно попытаться отразить человеческую мысль и проследить оформление мыслительного процесса. Этот язык основывается на алфавите, состоящем из следующих символов:


1) пропозициональных букв: [math]P,Q,R,\ldots[/math];
2) символов логических операций: [math]\lnot,~ \land,~ \lor,~ \to,~ \leftrightarrow[/math];
3) технических знаков: [math](,)[/math].

Словами построенного языка являются формулы логики высказываний. Предложения обычного (русского) языка могут быть "переведены" на символический язык логики высказываний, где они представляются формулами логики высказываний. Следует иметь в виду, что при таком переводе сохраняются логическое содержание, логическая структура предложения, но, конечно же, теряются его языковая красота и психологические оттенки. Формула представляет собой формальную последовательность знаков, составленную по строгим правилам, нарушение которых недопустимо. Такой перевод высказывания естественного языка на символический язык называется его формализацией. В частности, перевод высказывания на символический язык логики высказываний есть его формализация в рамках символической логики высказываний. Получаемая формула показывает способ соединения простых высказываний в составное при помощи логических союзов. Она представляет как бы в "чистом виде" логическую структуру составного высказывания.


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


Таким образом, имеются два взаимно-обратных процесса (две процедуры): формализация и интерпретация. Если имеется формула [math]F[/math] и высказывание [math]A[/math] есть результат ее интерпретации, то сама формула [math]F[/math] будет формализацией высказывания [math]A[/math]. Обратно, если имеется высказывание [math]A[/math] и формула [math]F[/math] есть его формализация, то высказывание [math]A[/math] будет одной из интерпретаций формулы [math]F[/math]. Итак, формализация — это переход от высказывания естественного языка к формуле логики высказываний, а интерпретация — переход от формулы логики высказываний к высказыванию естественного языка. Таблица истинности или таблица значений формулы логики высказываний — это таблица, которая указывает логическое значение формулы при любой ее интерпретации.


Осознание этих понятий исключительно важно на данном этапе, поскольку они являются ключевыми для изучения в дальнейшем более глубоких разделов математической логики. На данном этапе делается первый шаг на пути формализации — важнейшего метода математической логики.


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


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

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