![](/user_photo/2706_HbeT2.jpg)
- •Математическая логика
- •Раздел I. Алгебра высказываний
- •1. Высказывания и операции над ними. Формулы
- •2. Следование, эквивалентность и преобразование формул
- •3. Использование законов логики в доказательстве теорем и построении схем
- •Преобразуем эту формулу, используя соответствующие эквивалентности u
- •4. Булевы функции
- •5. Нормальные формы
- •5. Полные системы операций. Алгебра Жегалкина
- •6. Выводимость
- •Раздел II. Алгебра предикатов
- •1. Предикат. Операции над предикатами.
- •2. Модель. Формула алгебры предикатов сигнатуры .
- •3. Формулы алгебры предикатов
- •Основные общезначимости алгебры предикатов
- •Раздел 3. Логические исчисления
- •1. Определение формального исчисления
- •2. Исчисление высказываний ив.
- •3. Отношение эквивалентности в ив
- •4. Исчисление секвенций ис.
- •Исчисления предикатов ип (ипс).
- •Прикладные исчисления предикатов.
- •Автоматическое доказательство теорем
- •Теория алгоритмов
- •Машины Тьюринга
- •2. Рекурсивные функции
- •3. Временная сложность алгоритма. Классы p и np.
- •4. Полиномиальная сводимость. Np-полные языки и задачи.
2. Следование, эквивалентность и преобразование формул
Введем на множестве M отношения следования и эквивалентности.
Формула B
следует из формулы A
(обозначается AB),
если она истинна на всех наборах
высказывательных переменных, на которых
истинна формула A.
Теорема 2.1.
Формула B
следует из формулы A
тогда и только тогда, когда тождественно
истинна формула AB.
Доказательство.
Пусть формула
B
следует из формулы A.
Импликация AB
ложна только
на тех интерпретациях, на которых формула
А
истинна, а В
ложна, что невозможно в силу условия.
Покажем обратное.
Пусть AB
– тождественно
истинна, тогда если на некоторой
интерпретации формула А
истинна, то и формула В
истинна на ней, что и означает A
B.
Формула A
эквивалентна
формуле B
(обозначается A
B),
если они следуют друг из друга, то есть
AB
и B
A.
Легко показать, что это определение
эквивалентно определению, введенному
в п.1.
Теорема 2.2. Формула A эквивалентна формуле B тогда и только тогда, когда тождественно истинна формула A~B.
Доказательство аналогично доказательству теоремы 2.1.
Приведем список основных тавтологий, выражающих свойства логических операций.
Коммутативность:
X Y Y X, X Y YX.
2. Ассоциативность:
(X Y)Z X (YZ), (XY)Z X(YZ).
3. Идемпотентность:
XX X, XX X.
Законы поглощения:
X(XY)
X,
X
(XY)
X.
5. Взаимная дистрибутивность конъюнкции и дизъюнкции:
X (YZ) (X Y)(X Z), X (YZ) (XY)(XZ).
6. Свойства констант:
X0 Л, X1 X,
X0 X, X1 1.
7. Законы де Моргана:
,
.
8. Инволютивность:
.
9. Закон противоречия:
0.
10. Закон исключенного третьего:
1.
Эквивалентность большинства из этих формул непосредственно следует из определения операций или проверяется построением таблиц истинности.
Пусть U – некоторая формула, в которую входит переменная X или подформула А, что обозначается U(, X,) или U(,А,). Пусть В – некоторая формула. Запись U(¼, X,¼){В//X} обозначает формулу, полученную из формулы U подстановкой формулы В вместо всех вхождений переменной X, а U(¼, А,¼){В/А} – формулу, полученную из формулы U подстановкой формулы В вместо некоторых (в частности, вместо одного) вхождений подформулы А.
Теорема 2.3 (правило подстановки). Если U(, X,) – тавтология и В – любая формула, то U(¼, X,¼){В//X} – тавтология.
Теорема 2.4 (правило замены). Если A есть некоторая подформула формулы U и A эквивалентна формуле B, то формула, полученная заменой A в формуле U на B, эквивалентна U. Иными словами, если U(¼, А,¼) и A B, то U V= U(¼, А,¼){В/А}.
Например, так как
AB
,
то (AB)C
(
)C.
Следствие. Если U~A и V~B, то:
1)
UV
A
B;
2)
UV
A
B;
3) UV
A
B;
4) (U~V) (A~B);
5)
U
A.
Теоремы 2.3, 2.4 и ее следствие позволяют преобразовывать формулы, упрощая их, и доказывать эквивалентность формул.
Примеры.
1. Докажем 1-й из
законов поглощения X(XY)
X.
.
При доказательстве использовано правило замены.
2. Упростить формулу
.
Так как
X
в силу
подстановки
в закон поглощения, тогда, используя
правило замены получим
.
Приведем еще несколько эквивалентностей, имеющих широкое применение.
.
.
Законы склеивания
,
.
Эквивалентность формул является отношением эквивалентности, поэтому множество M можно разбить на классы эквивалентности, включив в один класс эквивалентные между собой формулы. Каждой формуле U соответствует класс эквивалентности, который обозначается [U].
Определение. Формула называется приведенной, если она содержит операции конъюнкции, дизъюнкции и операцию отрицания, относящуюся к высказывательным переменным.
Теорема 2.5.
Каждый класс эквивалентности [U]
может быть представлен приведенной
формулой, т.е. для любой формулы UM
существует приведенная формула V.
Доказательство теоремы проведём конструктивно, то есть определим порядок построения приведенной формулы.
Удаляются операции импликация и эквиваленция по формулам 11, 12.
Операции отрицания спускаются до высказывательных переменных с помощью законов де Моргана и двойного отрицания.
Если это возможно, то полученная приведенная формула упрощается с помощью свойств 3, 4, 5, 6, 9, 10.
Таким образом, проверить эквивалентность формул, тождественную истинность и ложность формулы или упростить ее можно с помощью этого алгоритма.
Приведенная формула для данного класса эквивалентности не является единственной.
Задание.
Упростить формулу
.
Решение.
A.
Определение. Формула Ud называется двойственной к приведенной формуле U, если она получена заменой операций конъюнкции на дизъюнкции и наоборот.
Теорема 2.6 (принцип
двойственности).
Пусть U()
– приведенная формула, тогда
Ud()
=
U(
).
Доказательство. Число логических операций в формуле U называется рангом формулы и обозначается r(U). Проведем доказательство индукцией по k = r(U).
10.
k
= 0. В этом случае U
= Xi
, следовательно, Ud
= Xi
U
(
).
2 0. Предположим, что теорема верна при k m.
3 0. Покажем, что она верна при k = m + 1.
Пусть U1 и U2 – подформулы U. Каждая из них образована посредством не более, чем m операций, и следовательно, для них теорема верна.
Возможны следующие случаи
а) U = U1;
б) U = U1 U2;
в) U = U1 U2.
Случай а) эквивалентен
условию 10
и при нем
теорема верна. В случаях б) и в) заменим
в каждой из Ui
конъюнкцию на дизъюнкцию и наоборот.
По определению двойственности будем
иметь, соответственно, б): Ud
= U
U
и в): Ud
= U
U
.
В силу законов де Моргана и предположения индукции будем иметь в случае б):
Ud
= U
U
= (U1
(
))
(U2
(
))
(U1
()
U2
(
))
=
U(
).
В случае в) выкладки аналогичны. Теорема доказана.
Следствие. Если U – ТИ-формула, то Ud – ТЛ-формула.
Теорема 2.7. Если U V, то Ud Vd.
Доказательство.
Если U
V,
то (U)
(V).
Значит, в силу теоремы 2.6, Ud(Х1,
…, Хn)
= U()
и Vd(Х1,
…, Хn)
= V(
).
Отсюда: Ud
= (U())
(V(
))
= Vd.
В силу транзитивности эквиваленции,
получим Ud
Vd
, что и
требовалось доказать.