Российский государственный гуманитарный университет
Опубликован: 13.07.2022 | Доступ: свободный | Студентов: 356 / 39 | Длительность: 11:54:00
Специальности: Программист
Лекция 4:

Логические основы компьютера

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >

Пример 5. Пусть a и b - высказывания, V(a) = 0, V(b) = 1. Тогда

 V(a \vee \neg b) = V(a) \vee V(\neg b) = V(a) \vee \neg V(b) = 0 \vee \neg 1 = 0 \vee 0 = 0.

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

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

Таблица 4.1. Таблицы истинности
A B \neg A A \& B A \vee B A \to B A \leftrightarrow B A \oplus B A \mid B A \downarrow B
0 0 1 0 0 1 1 0 1 1
0 1 1 0 1 1 0 1 1 0
1 0 0 0 1 0 0 1 1 0
1 1 0 1 1 1 1 0 0 0

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

Невыполнимой формулой, или противоречием, называется всегда ложная формула.

Пример 6. Высказывание  A \vee \neg A является тавтологией, а высказывание  A \& \neg A - противоречием.

Проверим с помощью таблицы истинности, что высказывание  ((A \to B) \to A) \to A является тавтологией ( табл. 4.2).

Таблица 4.2. Таблица истинности для формулы ((A \to B) \to A) \to A
A B A \to B (A \to B) \to A ((A \to B) \to A) \to A
0 0 1 0 1
0 1 1 0 1
1 0 0 1 1
1 1 1 1 1

В записи формул соблюдаются следующие приоритеты относительно символов логических связок: сначала \neg, потом \& и  \mid, после этого  \vee, \downarrow и  \oplus, затем  \to и, наконец,  \leftrightarrow. Порядок применения операций с одинаковым приоритетом регулируется скобками.

Пример 7. Следующие высказывания являются тавтологиями:

  •  A \to A;
  •  A \to (B \to A) ;
  • (\neg B \to \neg A) \to (A \to B) ;
  •  (A \to B) \& (B \to C) \to (A \to C) .
Свойства логических операций

Две формулы называются равными, или эквивалентными, если их значения совпадают для любых означиваний переменных. Обозначим через 1 тавтологию, а через 0 - противоречие.

Ниже перечислены основные свойства логических операций:

  1. a & b = b & a;
  2.  a \vee b = b \vee a;
  3. ассоциативность операций \& и  \vee:

    (a & b) & с = a & (b & с);

     (a \vee b) \vee с = a \vee (b \vee с) ;

  4. законы поглощения:

     a \& (a \vee b) = a;

     a \vee (a \& b) = a;

  5. дистрибутивность:

     a \& (b \vee с) = (a \& b) \vee (a \& с);\\
a \vee (b \& с) = (a \vee b) \& (a \vee с) ;

  6. дополнительность (законы 0 и 1):

     a \& \neg a =0;

     a \vee \neg a =1,

для произвольных элементов a, b и c (все свойства легко проверить с помощью таблиц истинности).

Замечание 1. Множество операций конъюнкции, дизъюнкции и отрицания обладает свойством полноты: остальные логические операции можно выразить через эти три. В самом деле,

A \to B = \neg A \vee B; \\
A \leftrightarrow B = (A \& B) \vee (\neg A \& \neg B);\\
A \oplus B = (A \& \neg B) \vee (\neg A \& B);\\
A \mid B = \neg (A \& B);\\
A \downarrow B = \neg (A \vee B).

Таким образом, для произвольного высказывания существует эквивалентное ему высказывание, содержащее из связок только \&,  \vee и  \neg.

Замечание 2. Множество операций конъюнкции и отрицания обладает свойством полноты. Действительно,  A \vee B = \neg (\neg A \& \neg B) .

Замечание 3. Множество операций дизъюнкции и отрицания обладает свойством полноты. В самом деле,  A \& B = \neg (\neg A \vee \neg B) .

Замечание 4. Штрих Шеффера обладает свойством полноты. Действительно,  \neg A = A \mid A; A \& B = (A \mid B) \mid (A \mid B) .

Замечание 5. Стрелка Пирса обладает свойством полноты. В самом деле,  \neg A = A \downarrow A; A \vee B = (A \downarrow B) \downarrow (A \downarrow B) .

Свойства операций используются для упрощения формул.

В дальнейшем знак \& иногда заменяется знаком * или опускается, а отрицание формулы a обозначается в виде \bar a.

Пример 8. Имеем:

  1. \overline{ab}\vee b \vee \bar c=\bar a \vee \bar b \vee \bar b \bar {\bar c}=\bar a \vee \bar b=\overline _ab}
  2. \overline {ab\vee b \vee c}(\bar a c)=\overline{b \vee c}(\bar a c)=\bar b \bar c \bar a c=0
Понятие булевой алгебры

Множество M, на котором определены бинарные операции  \vee и \& и унарная операция  \neg, для которых выполняются свойства 1 - 4 из п. 4.1.4 (коммутативность, ассоциативность, дистрибутивность и законы поглощения), и в котором существуют элементы 0 и 1, удовлетворяющие свойству 5 (законы 0 и 1), называется булевой алгеброй.

Символы 0 и 1 обозначают некоторые элементы множества M, а символы  \vee, \& и  \neg - операции на этом множестве. Операция  \neg называется операцией дополнения, или отрицания. Операции  \vee и \& по-прежнему будут называться операциями дизъюнкции и конъюнкции, соответственно.

Равенства, выражающие свойства 1 - 5 булевой алгебры, перечисленные в п. 4.1.4, называются еще тождествами булевой алгебры.

Пример 9. Множество {0, 1} c операциями дизъюнкции, конъюнкции и отрицания является булевой алгеброй.

Пример 10. Множество высказываний S c операциями дизъюнкции, конъюнкции и отрицания является булевой алгеброй.

Пример 11 (булева алгебра множеств). Пусть M - множество. Множество подмножеств M c операциями объединения, пересечения и дополнения до M является булевой алгеброй. Здесь  0 = \varnothing, 1 = M.

Утверждение 1. Булева алгебра обладает следующим свойством:

если a & b = a & c и a \vee b = a \vee c, то b = c.

Доказательство. Имеем:

b= b \vee (b \& a) = b \vee (c \& a) = (b \vee c) \& (b \vee a) = \\
= (b \vee c) \& (c \vee a) = c \vee (b \& a) = c \vee (c \& a) = c.

Замечание. Если в каждом равенстве из свойств 1 - 5 одновременно заменить символ \& на символ \vee, символ \vee на символ \&, а также 0 на 1 и 1 на 0, то множество равенств не изменится. Символы \& и \vee, а также символы 0 и 1 называются двойственными.

Равенства, полученные заменой символов на двойственные им, называются двойственными. Если из тождеств булевой алгебры следует какое-либо равенство, то следует и двойственное ему равенство.

Утверждение 2. Операции булевой алгебры обладают следующими свойствами:

  1. конъюнкция с 1 и дизъюнкция с 0:

    a & 1 = a;

    a \vee 0 = a;

  2. идемпотентность операций \& и \vee:

    a & a = a;

    a \vee a = a;

  3. конъюнкция с 0 и дизъюнкция с 1:

    a & 0 = 0;

    a \vee 1 = 1;

  4. дополнение 0 и 1:

    \neg 0 = 1;

  5. \neg 1 = 0;

  6. инволютивность дополнения:

    \neg\neg a = a;

  7. законы де Моргана:

    \neg (a \& b) = \neg a \vee \neg b;\\
\neg (a \vee b) = \neg a \& \neg b

    для произвольного элемента a множества M.

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

  1. a \& 1 = a \& (a \vee \neg a) = a (по закону 0 и 1 и закону поглощения);
  2. a = a \& 1 = a \& (a \vee \neg a) = (a \& a) \vee (a \& \neg a) = (a \& a) \vee 0 = a \& a (по закону 0 и 1 и закону дистрибутивности);
  3. a \& 0 = a \& (a \& \neg a) = (a \& a) \& \neg a = a \& \neg a = 0,
  4. \neg 0 = \neg 0 \vee 0 = 0 \vee \neg 0 = 1;
  5. \neg\neg a \& \neg a = 0 = a \& \neg a и \neg\neg a \vee \neg a = 1 = a \vee \neg a,

    следовательно, по утверждению 1, \neg\neg a = a;

  6. аналогично,

    a \& b \& (\neg a \vee \neg b) = (a \& b \& \neg a) \vee (a \& b \& \neg b) = 0 \vee 0 = 0;\\
a \& b \vee (\neg a \vee \neg b) = (a \vee \neg a \vee \neg b) \& (b \vee \neg a \vee \neg b) = 1,

    поэтому \neg (a \& b) = \neg a \vee \neg b.

Следствие 1. Элементы 0 и 1 в булевой алгебре единственны. В самом деле, пусть имеются элементы 0' и 1' из множества M, такие что a \& \neg a = 0' и a \vee \neg a = 1' для произвольного элемента a из M. Тогда

0' = 0' \vee 0 = 0 \vee 0' = 0;\\
1' = 1' \& 1 = 1 \& 1' = 1.

Следствие 2. 1) Если a & b = 1, то a = 1 и b = 1.

2) Если a \vee b = 0, то a = 0 и b = 0.

Действительно, пусть a \& b = 1. Тогда

a = a \& 1 = a \& (a \& b) = (a \& a) \& b = a \& b = 1,

и, точно так же, b = 1. Аналогично для двойственного утверждения.

Логические задачи

Рассмотрим примеры решения логических задач с помощью алгебры логики.

Пример 12. Аня, Боря, Витя, Гриша и Даша решают, пойти ли им в кино. Ситуация описывается следующими высказываниями:

  1. Если Аня пойдет, то и Боря пойдет;
  2. Хотя бы кто-то из Вити и Гриши пойдет;
  3. В кино пойдет либо Боря, либо Даша, но не оба;
  4. Витя и Даша либо оба пойдут в кино, либо оба не пойдут;
  5. Если Гриша пойдет, то пойдут также Аня и Витя.

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

Введем атомарные высказывания:

a: "Аня пойдет в кино"; b: "Боря пойдет в кино";

v: "Витя пойдет в кино";g: "Гриша пойдет в кино";

d: "Даша пойдет в кино".

Представим в виде высказываний условия задачи:

  1. a \to b;
  2. v \vee g;
  3. b \oplus d;
  4. v \leftrightarrow d;
  5. g \to a \& v.

Выразим все операции через операции конъюнкции, дизъюнкции и отрицания. В результате получим:

1=(\bar a \vee b)(v \vee g)(b \bar d \vee \bar b d)(vd \vee \bar v \bar d)(\bar g \vee av)=\\
\((\bar a \vee b)(b \bar d \vee \bar b d))((v \vee g)(\bar g \vee av))(vd \vee \bar v \bar d)=\\
=(b \bar d \vee \bar a \bar b d)(v \bar g \vee av)(vd \vee \bar v \bar d)=\\
=(b \bar d \vee \bar a \bar b d))(v \bar g d \vee avd)=\bar a \bar b v \bar g d.

Поэтому \bar a=1, \bar b=1, v=1, \bar g =1, d=1 следовательно, a=0, b=0, v=0, g=0, d=0,

так что, Витя и Даша пойдут в кино, а Аня, Боря и Гриша не пойдут.

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >