Математическая логика и теория алгоритмов. Учебное пособие-1
.pdf
Алгебра высказываний
Обозначим высказывания:
A– «Я пойду завтра на первое занятие».
B– «Я встану рано».
C– «Я пойду вечером на танцы».
D– «Я лягу спать поздно».
E– «Я в состоянии обойтись пятью часами сна».
Предложения, приведенные в рассуждении, являются интерпретациями формул:
F1 = (A → B) ˄ (C → D),
F2 = (D ˄ B) → E,
F2 = E ,
G = A C .
Вопрос о правильности рассуждения можно переформулировать так: следует ли логически формула G из формул F1, F2, F3.
Решение. Предположим противное: существует интерпретация такая, что F1, F2, F3 – истинны, а G – ложно, то есть [ A C] = 0. Отсюда следует,
что [A] = 1, [C] = 1. Из условия [F1] = 1 следует, что [B] = 1, [D] = 1. Из условия [F2] = 1 следует, что [E] = 1 и [E] = 0. Из условия [F3] = 1 следует, что [E] = 1. Полученное противоречие доказывает, что предположение не-
верно и [ A C] = 1. Рассуждение верно.
Определим теперь понятие равносильности формул алгебры высказываний.
Определение. Формулы F и G называются равносильными (F = G), если при любой интерпретации этих формул соответствующие высказывания принимают одинаковые истинностные значения:
I ([F(I)] = [G(I)]).
Выяснить, равносильны ли две формулы, можно построением таблиц истинности для этих формул.
Пример. Доказать равносильность формул X → Y = X ˅ Y.
Доказательство:
Построим таблицы истинности для формул X → Y и X ˅ Y.
X |
Y |
X → Y |
|
|
|
|
|
Y |
X |
|
|
X |
|||||
0 |
0 |
1 |
|
1 |
|
1 |
||
0 |
1 |
1 |
|
1 |
|
1 |
||
1 |
0 |
0 |
|
0 |
|
0 |
||
1 |
1 |
1 |
|
0 |
|
1 |
||
11
Глава 1
Сравнив третий и пятый столбцы таблицы, можно сделать вывод о том, что рассматриваемые формулы равносильны.
Упражнение. Докажите равносильность формул:
1)X ↔ Y = (X → Y) ˅ (Y → X);
2)X Y = X Y ;
3)X Y = X Y .
Связи между понятиями «равносильность», «тавтология» и «логическое следование» устанавливается следующими теоремами. Пусть F и G произвольные формулы алгебры высказываний.
Теорема.
(F = G) ↔ (|= (F ↔ G)).
Теорема.
(F = G) ↔ ((F => G) ˄ (G => F)).
Теорема. Отношение равносильности на множестве формул является отношением эквивалентности, то есть для любых формул F и G имеем:
1)F = F (отношение рефлексивно);
2)(F = G) → (G = F) (отношение симметрично);
3)((F = G) ˄ (G = H)) → (F = H) (отношение транзитивно).
1.4. Свойства операций с высказываниями
Приведем таблицу основных равносильностей, выражающих свойства операций конъюнкции и дизъюнкции:
|
P ˄ P = P |
|
P ˅ P = P |
|||||||||||||||
P ˄ Q = Q ˄ P |
P ˅ Q = Q ˅ P |
|||||||||||||||||
(P ˄ Q) ˄ R = P ˄ (Q ˄ R) |
(P ˅ Q) ˅ R = P ˅ (Q ˅ R) |
|||||||||||||||||
P ˄ (Q ˅ R) = (P ˄ Q) ˅ (P ˄ R) |
P ˅ (Q ˄ R) = (P ˅ Q) ˄ (P ˅ R) |
|||||||||||||||||
P ˄ (P ˅ Q) = P |
P ˅ (P ˄ Q) = P |
|||||||||||||||||
|
P ˄ 1 = P |
|
P ˅ 0 = P |
|||||||||||||||
|
P ˄ 0 = 0 |
|
P ˅ 1 = 1 |
|||||||||||||||
|
P |
|
= 0 |
|
|
|
P |
|
= 1 |
|
|
|||||||
P |
||||||||||||||||||
P |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
P Q |
P |
Q |
P Q |
P |
Q |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Здесь 1 означает любую тавтологию, 0 – любое противоречие. В следующей таблице приведены равносильности, выражающие связь между операциями алгебры высказываний, которые полезно использовать для упрощения формул и построения специальных форм, о которых будет идти речь далее.
12
Алгебра высказываний
P Q = |
|
Q |
|
|
|
|
|
|
P |
P Q = P |
|
|
|||||
Q |
||||||||
P ↔ Q = (P → Q) ˄ (Q → P) |
|
|
|
|
|
|
||
|
|
|
|
|
|
|||
|
P P |
|||||||
|
|
|
|
|||||
Пример. Применив равносильные преобразования, упростить фор-
мулу
(P ↔ Q) → ( P → Q).
Решение.
(P ↔ Q) → ( P → Q) = (P → Q) (Q → P) → ( P → Q) =
=(P Q)(Q P) (P Q) = (P Q)(Q P) (P Q) =
=P Q Q P P Q = PQ QP P Q =
=(PQ P) (QP Q) = P(Q 1) Q(P 1) = P1 Q1 = P Q.
1.5. Нормальные формы формул алгебры высказываний
Определение. КонъюнктивнымодночленомотпеременныхX1, X2, …, Xn называется конъюнкция каких-либо из этих переменных или их отрицаний.
Определение. Дизъюнктивным одночленом от переменных X1, X2, …, Xn называется дизъюнкция каких-либо из этих переменных или их отрицаний.
Примеры:
1. Конъюнктивными одночленами переменных X1, X2, X3 являются
X2, X2 X1, X1, X2, X3.
2. Дизъюнктивными одночленами этих переменных являются
X1, |
X1 |
X2 , |
X1 |
|
X2 |
X3. |
Определение. Конъюнктивной нормальной формой (КНФ) формулы F называется формула вида D1 ˄ D2 ˄ … ˄ Dk (k ≥ 1), равносильная F. Здесь Di – дизъюнктивные одночлены переменных, входящих в F.
Определение. Дизъюнктивнойнормальнойформой(ДНФ) формулыF называетсяформулавидаK1 ˅K2 ˅… ˅Km (m ≥ 1), равносильнаяF. ЗдесьKi – конъюнктивные одночлены переменных, входящих в F.
Алгоритм приведения к КНФ (ДНФ):
1. Заменить импликацию и эквиваленцию по формулам
13
Глава 1
X → Y = X ˅ Y,
X↔ Y = (X → Y) (Y → X).
2.Довести отрицание до переменных по формулам
X Y = X Y,
XY = X Y.
3.Раскрыть скобки по формулам
(X ˄ Y) ˅ Z = (X ˅ Z) (Y ˅ Z) – (для получения КНФ), (X ˅ Y) ˄ Z = (X ˄ Z) ˅ (Y ˄ Z) – (для получения ДНФ).
4. Упростить полученную формулу, использовав равносильности:
X ˄ X = X, X ˅ X = X, X = X, и т. п.
Примеры: Привести к КНФ формулу (X → Y) → Z.
Решение.
(X Y ) Z X Y Z X Y Z (X Y ) Z
= ( X Y ) Z = ( X Z ) (Y Z ).
Привести к ДНФ формулу X ↔ Y.
Решение.
X ↔ Y = (X → Y)(Y → X) = ( X ˅ Y)(Y ˅ X)
XY YY X X YX XY YX.
Совершенные нормальные формы Определение. Конъюнктивный (дизъюнктивный) одночлен от пере-
менных X1, X2, …, Xn называется совершенным, если в него входят Xi или Xi для всех i = 1, …, n.
Определение. Конъюнктивная (дизъюнктивная) нормальная форма называется совершенной (СКНФ (СДНФ)), если все её одночлены совершенные.
Алгоритмы получения СКНФ (СДНФ):
1.Формула приводится к КНФ (ДНФ).
2.Если в КНФ какой-либо дизъюнктивный одночлен D не содержит переменную X, то D заменяется равносильной ей формулой
D = D ˅ (X X ) = (D ˅ X) (D ˅X ).
14
Алгебра высказываний
Процесс продолжается до тех пор, пока каждый дизъюнктивный одночлен не станет совершенным.
Если в ДНФ какой-либо конъюнктивный одночлен K не содержит переменную X, то K заменяется равносильной ей формулой:
K = K ˄ (X ˅X ) = K ˄ X ˅ K ˄X .
Процесс продолжается до тех пор, пока каждый конъюнктивный одночлен не станет совершенным.
3. Упрощаем полученную формулу, используя равносильности:
X ˅ X = X, X ˄ X = X.
Приведем примеры использования этих алгоритмов для получения СДНФ и СКНФ.
Получить СДНФ и СКНФ формулы (X → Y) → Z.
Решение.
1. Построение СДНФ. Используем ДНФ для данной формулы, полученную ранее:
(X → Y) → Z = (X Y ) ˅ Z.
Оба конъюнктивных одночлена K1 = X Y и в ней не являются совершенными, так как в K1 не входит переменная Z, а в K2 не входят переменные X и Y. Поэтому в K1 вводим переменную Z:
X Y ( X Y )(Z Z ) ( X YZ ) ( X Y Z ).
В K2 вводим переменные X и Y:
Z = Z (X ˅X ) (Y ˅Y ) = (Z X ˅ Z X )(Y ˅Y ) =
= ZXY ˅ Z X Y ˅ ZXY ˅ Z X Y .
Подставляем полученные для K1 и K2 формулы в исходную формулу. Приведя «подобные» по формуле X ˅ X = X, получим требуемую
СДНФ:
( X Y ) Z ( X YZ ) ( X Y Z ) ZXY Z XY Z X Y.
2. Построение СКНФ. Приводим исходную формулу к КНФ, используя уже полученную ранее ДНФ:
(X → Y) → Z = ( X Y) ˅ Z = (X ˅ Z) (Y ˅ Z).
Оба дизъюнктивных одночлена D1 = X ˅ Z и D2 = Y ˅ Z в ней не являются совершенными, так как в D1 не входит переменная Y, в D2 не входит переменная X. Поэтому в D1 вводим переменную Y, а в D2 – переменную X:
15
Глава 1
X Z X Z YY ( X Z Y )( X Z Y );
Y Z Y Z X X (Y Z X )(Y Z X ).
Подставляем полученные для D1 и D2 формулы в исходную формулу: ( X Y ) Z ( X Z Y )( X Z Y )(Y Z X )(Y Z X ).
Приведя в формуле «подобные», получим требуемую СКНФ:
( X Y ) Z ( X Z Y )(Y Z X )(Y Z X ).
Существование и единственность СДНФ и СКНФ
Обозначим
X |
|
X , |
если 1; |
||
|
|
|
если 0. |
||
|
|||||
|
|
X , |
|||
Высказывание, полученное в результате интерпретации формулы F(X1, X2, …, Xn), прикоторойпеременныеXi заменяютсявысказываниямиAi, будем обозначать F(A1, A2, …, An). Если при этом [Ai] = αi, то обозначим
[F(A1, A2, …, An)] = F(α1, α2, …, αn).
Лемма. Для любой формулы F(X1, X2, …, Xn) алгебры высказываний справедливо представление
F(X1, X2 , , Xn ) |
(F( 1, 2 , , n ) X1 1 Xn n ), |
|
( 1, 2 , , n ) |
где αi {0, 1}.
Доказательство:
Рассмотрим произвольную интерпретацию (A1, A2, …, An) формул, стоящих в левой и правой частях доказываемого равенства. Пусть при этом [Ai] = ξi. Тогда истинностное значение высказывания в левой части F(ξ1, ξ2,
…, ξn).
Рассмотрим истинностное значение высказывания в правой части:
|
|
|
(F( 1, 2 , , n ) 1 1 |
n n ) |
|
( 1, 2 , , n ) |
|
|
|
|
|
(F( 1, 2 , , n ) 1 1 |
n n ) |
|
|
( 1, 2 , , n ) ( 1, 2 , , n ) |
|
(F( 1, 2 , , n ) 1 1 n n )
= (F(ξ1, ξ2, …, ξn) ˄ 1 ˄ … ˄ 1) ˅ 0 = F(ξ1, ξ2, …, ξn).
16
Алгебра высказываний
Здесь воспользовались равенствами
|
|
|
1, |
если ; |
|
|
если . |
||
|
|
|
0, |
Такимобразом, убедилисьв равносильности формулвлевой и правой части доказываемого представления. Лемма доказана.
Теорема. Для любой формулы F(X1, X2, …, Xn) алгебры высказываний, не являющейся противоречием, существует и единственна СДНФ:
F(X1, X2 , , Xn ) = |
|
(X1 1 Xn n ). |
|
F ( 1, 2 , , n ) 1 |
|
Доказательство:
1. Существование СДНФ следует из леммы:
F(X1, X2 , , Xn ) |
|
(F( 1, 2 , , n ) X1 1 Xn n ) |
|
( 1, 2 , , n ) |
|
|
|
(X1 1 Xn n ). |
F( 1, 2 , , n ) 1
2.Докажем единственность полученной СДНФ. Предположим существование двух различных СДНФ для формулы F, то есть пусть
F = K1 ˅ K2 ˅ … ˅ Kp.
Если K1 X1 1 X2 2 Xn n , топриинтерпретацииI = (A1, A2, …, An) формулы F такой, что [Xi] = αi, имеем
[K1] 1 1 2 2 n n 1.
Так как отношение равносильности транзитивно, то
K1 ˅ K2 ˅ … ˅ Kp = K1' K2' Kq' .
и при данной интерпретации среди одночленов K 'j должен быть такой,
который обращается в истинное высказывание. Пусть это будет
K 'j X1 1 X2 2 Xn n .
Таким образом, 11 22 nn 1, откуда следуют равенства αi = βi для всех i = 1, 2, …, n. Получаем
K 'j X1 1 X2 2 Xn n K1.
17
Глава 1
Аналогично показывается, что среди конъюнкций K 'j есть K2 и так до Kp. И наоборот, среди конъюнкций Ki есть все конъюнкции K 'j .
Таким образом, доказано, что количество членов в обеих СДНФ совпадает и СДНФ тоже совпадают (с точностью до перестановки их конъюнктивных одночленов). Теорема доказана.
Аналогично доказывается теорема о существовании и единственности СКНФ.
Теорема. Для любой формулы F(X1, X2, …, Xn) алгебры высказываний, не являющейся тавтологией, существует и единственна СКНФ:
|
|
|
|
|
|
|
|
|
F( X1, X2 , , Xn ) |
( X1 1 |
X2 2 Xn n ). |
||||||
|
F ( 1, , n ) 0 |
|
|
|
|
|
|
|
Алгоритмы построения СДНФ и СКНФ формул:
1.Составляем таблицу истинности данной формулы.
2.Записываем СДНФ формулы
F(X1, X2 , , Xn ) |
|
(X1 1 Xn n ). |
|
F ( 1, 2 , , n ) 1 |
|
Записываем СКНФ формулы
|
|
|
|
|
|
|
|
|
F( X1, X2 , , Xn ) |
( X1 1 |
X2 2 Xn n ). |
||||||
|
F ( 1, , n ) 0 |
|
|
|
|
|
|
|
Пример. Построить СДНФ и СКНФ формулы
F(X, Y) = (X → Y) ↔ X.
Решение. Составим таблицу истинности для данной формулы.
X |
Y |
X → Y |
(X → Y) ↔ X |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1. Запишем СДНФ формулы
F(X ,Y ) |
(X 1 Y 2 ) X1 Y1 X Y. |
F( 1, 2 ) 1
2.Запишем СКНФ формулы
18
Алгебра высказываний
|
|
|
|
|
|
) (X |
|
Y |
|
)(X |
|
Y1)(X 1 Y |
|
) |
F(X ,Y ) |
(X |
1 |
Y |
2 |
0 |
0 |
0 |
0 |
||||||
|
F ( 1, 2 )=0 |
|||||||||||||
= (X ˅ Y) (X ˅Y ) ( X ˅ Y).
Замечание. Для формулы F от n переменных сумма количества компонент в СДНФ и количества компонент в СКНФ равна 2n.
Задачи к главе 1. Алгебра высказываний
1.Какие из следующих предложений являются высказываниями?Москва – столица России.
2 + 2 – 5.
В романе Пушкина «Евгений Онегин» 136245 букв.Да здравствуют музы!
Сегодня плохая погода.
2.Определите значения истинности следующих высказываний:7 – простое число и 9 – простое число;число 2 четное или это число простое;
2·2 = 4, и 2·2 ≤ 5, и 2·2 ≥ 4;если 3·3 = 9, то 7 + 4 = 11;
неверно, что 6 > 3;неверно, что все простые числа нечетны;
неверно, что некоторые грибы несъедобны;15 делится на 5 тогда и только тогда, когда 12 ≤ 4.
3.Пусть через A обозначено высказывание «9 делится на 3», через B –
высказывание «8 делится на 3». Определите значения истинности следующих высказываний:
A → B, A→ B, A ↔B , A↔B ,
A˄B , (A ˅ B) ↔ B, B → ( A˅ B), (A ˄B ) →A .
4. Следующие составные высказывания расчлените на простые и запишите символически, введя буквенные обозначения для простых составляющих:
Если число делится на 2 и не делится на 3, то оно не делится на 6.
Произведение трех чисел равно нулю тогда и только тогда, когда одно из них равно нулю.
Если какие-либо два из трех векторов a,b,c коллинеарны, то их
смешанное произведение равно нулю.
Логарифм некоторого положительного числа будет положительным, если основание логарифма и логарифмируемое число будут больше 1
19
Глава 1
или если основание логарифма и логарифмируемое число будут заключены между 0 и 1.
5. Определите истинностное значение последнего высказывания, исходя из истинностных значений предыдущих высказываний:
[A → B] = 1, [A ↔ B] = 0, [B → A] =
[A ˄ B] = 1, [A → B] = 0, [B → A] =
[A ˅ B] = 1, [A → B] = 1, [ B → A] =
[A ↔ B] = 1, [(A → B) ˄ ( A→B )] =
6.Для каждого из приведенных высказываний определите, достаточно ли приведенных сведений, чтобы установить его истинностное значение:
A ˄ (B → C), [B → C] = 0; A ˅ (B → C), [B] = 0;
(A ˄ B) → (A ˅ C), [A] = 1; (A ↔ B) ˅ (A ˄ C), [A] = 0.
7.Существуют ли три таких высказывания A, B, C, чтобы одновременно выполнялись для них следующие условия:
[A ˄ B] = 1, [A ˄ C] = 0, [A ˄ B ˄C ] = 0;
[A ˄B ] = 1, [B ˅ C] = 1, [ B A ˅ C] = 0; [B ˅ C] = 0, [C → A] = 0, [A → B] = 0;
[B → A] = 1, [A ˅ C] = 0, [A ↔ B ˄C ] = 0;
8. Составьте таблицы истинности для следующих формул и укажите тип формулы:
(P → Q) → ((P →Q ) →P ); P ˄ (Q ˄ ( P ˅Q ));
((P ˅Q ) → Q) ˄ ( P ˅ Q).
9. Докажите, что следующие формулы выполнимы, не составляя для них таблиц истинности:
(P → Q) → (Q → P);
P Q R ˄ Q;
((P ↔ Q) ˄ (Q ↔ R)) → (P ˅ R).
10. Докажите, что следующие формулы опровержимы, не составляя для них таблиц истинности:
G → F; ((X → (Y ˄ Z)) → (Y →X ) →Y ; ((P → Q) ˄ (R → Q ) ˄ (P ˅ Q) → R.
11. Докажите, что следующие формулы являются тавтологиями:
P → (P ˅ Q);
20
