- •Лекции № 5-6
- •4. Построить истинностную таблицу для формулы
- •Контрольные вопросы и задания по теме:
- •Контрольные вопросы и задания по теме:
- •# Доказательство логических следствий в логике высказываний
- •1. Даны формулы логики высказываний: f1 (p q), f2 q, g p.
- •Контрольные вопросы и задания по теме:
- •Интерпретации формул логики первого порядка
- •Тема: Эквивалентные преобразования формул логики первого порядка. Получение пнф, ссф. Метод резолюций
- •Контрольные вопросы и задания по теме:
- •4) Законы де Моргана для кванторов
- •Контрольные вопросы и задания по теме:
- •(Q1x1)(q2x2)...(Qnxn)m, где m есть кнф.
- •Проверить невыполнимость множества дизъюнктов
- •Контрольные вопросы и задания:
4. Построить истинностную таблицу для формулы
G
Решение. Истинностная таблица для G дана в табл.9.3. Как видим, эта формула ложна при всех интерпретациях, т. е. противоречива.
Таблица 9.3 - Истинностная таблица для
P Q |
|
|
|
|
0 0 |
1 |
1 |
0 |
0 |
0 1 |
1 |
0 |
0 |
0 |
1 0 |
0 |
1 |
1 |
0 |
1 1 |
1 |
0 |
0 |
0 |
Контрольные вопросы и задания по теме:
Логика высказываний.
Высказывания, логические связки, логические парадоксы.
Составные высказывания.
Истинностные значения и функции.
Формулы ЛВ. Интерпретации формул ЛВ. Таблицы истинности формул ЛВ.
Общезначимые, противоречивые и выполнимые формулы ЛВ.
Привести пример образования сложного высказывания из простых на примере какой-нибудь теоремы.
Записать следующие высказывания с помощью формул:
“Данное отношение есть отношение эквивалентности тогда и только тогда, когда оно рефлексивно, симметрично и транзитивно”;
“Если влажность так высока, то либо после полудня, либо вечером будет дождь”.
Даны атомарные высказывания: P Ему нужен доктор, Q Ему нужен адвокат, R С ним произошел несчастный случай, S Он болен, U Он ранен. Записать в виде предложений русского языка следующие формулы:
b
Для каждой из следующих формул определите, верно ли, что она общезначима, необщезначима, противоречива, непротиворечива или обладает некоторой комбинацией этих свойств:
# Преобразование формул логики высказываний. Получение ДНФ, КНФ,
СДНФ, СКНФ. Способы задания булевых функций
Рассмотрим законы логики высказываний, доказательство истинности высказываний с помощью таблиц истинности, эквивалентные преобразования в логике высказываний, алгоритмы приведения произвольных формул логики высказываний к нормальным формам, а также правила записи СДНФ и СКНФ по таблицам истинности и способы задания булевых функций.
Часто бывает необходимо преобразовать формулы логики высказываний из одной формы в другую, особенно в так называемую “нормальную форму”. Это достигается путем эквивалентных преобразований формул. Говорят, что две формулы F и G эквивалентны или, что F эквивалентна G (обозначается F=G), тогда и только тогда, когда истинностные значения F и G совпадают при всех интерпретациях. Для осуществления эквивалентных преобразований произвольных формул логики высказываний используются следующие тождества (законы логики высказываний):
1) A
B=(A
B)(B
A);
2) A B=AB;
3) законы коммутативности:
AB=BA, AB=BA;
4) законы ассоциативности:
(AB)C=A(BC),
(AB)C=A(BC);
5) законы дистрибутивности:
A(BC)=(AB)(AC),
A(BC)=(AB)(AC);
6) законы идемпотентности:
AA=A, AA=A;
7) законы элиминации:
A(АB)=A, A(AB)=A;
8) закон двойного отрицания:
A=A;
9) закон исключенного третьего:
AA=U,
где U какая-либо общезначимая формула;
10) закон противоречия
AA=Л,
11) тождества с константами
AЛ=Л, AЛ=A;
AU=A, AU=U;
12) законы де Моргана
(AB)=AB;
(AB)=AB;
Законы де Моргана обобщаются на случай n атомов:
(A1A2...An) = A1A2...An
(A1A2...An ) = A1A2...An.
Следует помнить, что в формулировке перечисленных эквивалентных соотношений (законов логики высказываний) переменные А,В, и т.д. обозначают не конкретные высказывания, а формулы. В указанные тождества можно подставлять любые формулы, и тождества будут справедливы. Указанные законы и тождества используются для эквивалентных преобразований формул с целью их упрощения или получения так называемых нормальных форм.
Литера есть атом или отрицание атома. Формула F находится в конъюнктивной нормальной форме (КНФ), если она имеет вид: F=F1F2...Fn, где каждая из F1, F2,..., Fn есть дизъюнкция литер. Формула F находится в дизъюнктивной нормальной форме (ДНФ), если она имеет вид: F=F1F2...Fn, где каждая из F1,F2,...,Fn есть конъюнкция литер. Всякая формула может быть преобразована в нормальную форму. Это легко достигается использованием законов ЛВ. Процедура преобразования формул в нормальные формы описывается следующим алгоритмом:
Шаг 1. Используем законы:
F G=(F G)(G F),
F G=FG;
чтобы устранить (элиминировать) логические связки , .
Шаг 2. Несколько раз используем закон F=F и законы де Моргана:
(FG)=FG,
(FG)=FG,
чтобы перенести знак отрицания непосредственно к атомам. Шаг 3. Несколько раз используем дистрибутивные законы:
F(GH)=(FG)(FH),
F(GH)=(FG)(FH)
и другие законы, чтобы получить нормальную форму.
Наряду с задачей перехода от формулы высказывания к его таблице истинности зачастую требуется выполнить обратное: по заданной таблице истинности записать формулу которая передавала бы то же соответствие. Для этого используется совершенная дизъюнктивная нормальная форма (СДНФ) и совершенная конъюнктивная нормальная форма (СКНФ).
Конституента 1 это конъюнкция, в которой по одному разу присутствуют литеры всех атомов, имеющихся в формуле. Свойства конституенты 1: 1) конституента 1 равна единице при единственной интерпретации, при которой и исходная формула также принимает единичное значение; 2) конъюнкция любого числа конституент 1 от одних и тех же переменных равна нулю. Конституента 0 это дизъюнкция, в которую входят по одному разу литеры всех атомов, имеющихся в формуле. Свойства конституенты 0: 1) конституента 0 принимает нулевое значение при единственной интерпретации, при которой и исходная формула также равна нулю; 2) дизъюнкция любого числа конституент 0 равна 1.
СДНФ формулы G это
дизъюнкция всех ее конституент 1. СКНФ
формулы G это
конъюнкция всех ее конституент нуля.
Обозначим через
,
где
запись атома, взятого с отрицанием, либо
без него, то есть: при 1
=A1=A;
при 0
=A0=
A.
Справедливо следующее правило записи
СДНФ по таблице истинности:
1) для каждой интерпретации, где формула равна единице, выписываем соответствующую конституенту единицы. В качестве показателей при атомах берем истинные значения атомов в данной интерпретации; 2) объединяем полученные значения конституенты единиц дизъюнкцией. Получаем СДНФ. Желательно выписывать конституенты 1 в порядке возрастания номеров соответствующих им интерпретаций.
Правило записи СКНФ по таблице истинности формулируется аналогично. Однако, на первом шаге, при формировании конституент в качестве показателей при атомах берут отрицания истинных значений атомов в соответствующей интерпретации.
Введенные ранее шесть таблиц истинности,
полученные в результате использования
логических связок
можно рассматривать как одноместные и
двухместные функции особого вида. В них
аргументы и значения могут принимать
одно из двух возможных значений,
обозначаемых 0 или 1. Такие функции
называются логическими или
булевыми.
Функция вида f(x1,x2,...,xn)=y,
где x1,x2,...,xn,у
называется n-местной булевой функцией.
Всего существует 4 одноместных булевых
функций вида fi(x):
-
X
f0(x)
f1(x)
f2(x)
f3(x)
0
1
0
0
0
1
1
0
1
1
f0(x)=0,
f1(x)=x, f2(x)=
,
f3(x)=1.
Всего существует 16 двухместных булевых функций вида i(x,y):
-
x y
0
1
2
3
4
5
6
7
0 0
0 1
1 0
1 1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
x y
8
9
10
11
12
13
14
15
0 0
0 1
1 0
1 1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
Наиболее известные булевы функции двух переменных:
1(x,y)=xy=x*y=xy=x&y;
6(x,y)=x
y
сложение по mod 2 или
функция неравнозначности;
7(x,y)=ху дизъюнкция;
8(x,y)=х
у=
стрелка Пирса или
отрицание дизъюнкции;
9(x,y)=x y эквиваленция или функция равнозначности;
13(x,y)=х
у=х
у
импликация;
14(x,y)=х|y=
штрих Шеффера или
отрицание конъюнкции;
Формула любого сложного высказывания может быть проинтерпретирована как булева функция, принимающая значение 1 на тех наборах значений аргументов (атомов в формуле ЛВ), при которых данное высказывание истинно, и принимающая значение 0 на тех наборах значений аргументов, на которых данное высказывание ложно. Любую булеву функцию можно задать таблицей истинности или с помощью СДНФ, СКНФ. Для булевых функций справедливы описанные выше тождества (законы алгебры логики) и правила перехода от таблиц истинности к СДНФ (СКНФ) и наоборот.
Рассмотрим примеры решения типичных упражнений и задач:
1. Получить ДНФ для формулы P(Q) R.
Решение. Воспользуемся алгоритмом приведения произвольной формулы ЛВ к нормальной форме:
Шаг 1. Избавляемся от операции импликации:
P(Q) R=(P(Q))R;
Шаг 2. Используя законы де Моргана, приближаем все отрицания непостредственно к атомам:
(P(Q))R=(P( Q))R;
Шаг 3. Используем дистрибутивный закон, раскрываем скобки, используем закон двойного отрицания, приводим подобные члены, получаем ДНФ:
(P(Q))R=(PQ)R.
2. Получить КНФ для формулы (P(QR)) S.
Решение. Применяем тот же алгоритм.
Шаг 1. (P(QR)) S=(P(QR))S;
Шаг 2. (P(QR))S=(P(QR))S;
Шаг 3.(P(QR))S=((PQ)(PR))S=(PQS)(PRS).
3. Представить данную формулу в СКНФ: (PQ) R.
Решение. (PQ) R=(PQ)R=PQR=
=(PR)(QR)=(PQR)(PQR)
(PQR)(PQR)=
=(PQR)(PQR)(PQR).
4. По данной таблице истинности записать СДНФ и СКНФ формулы высказывания.
-
A B C
F(A,B,C)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
0
1
0
1
0
1
0
Решение. Используем правило получения ДНФ по таблице истинности:
Шаг 1. Выписываем все конституенты 1 для каждой интерпретации, где F=1. В качестве показателей при атомах берем истинные значения атомов в данной интерпретации. Получаем следующие конституенты 1:
A0B1C0=ABC, A1B0C0=ABC, A1B1C0=ABC
Шаг 2. Соединяя полученные конституенты 1 дизъюнкциями, получаем СДНФ:
ABC)(ABC)(ABC)=F.
Теперь получим представление той же формулы ЛВ в виде СКНФ:
Шаг 1. Выписываем все конституентны 0 для каждой интерпретации, где F=0. В качестве показателей при атомах берем отрицания значений атомов в данной интерпретации. Получаем следующие конституенты 0:
=A1B1C1=ABC,
=A1B1C0=ABC,
=A1B0C0=ABC,
=A0B1C0=ABC,
Шаг 2. Соединяя полученные конституенты 0 конъюнкциями, получаем СКНФ: (ABC)(ABC)(ABC)(ABC).
