
- •Математическая логика Введение
- •Раздел I. Алгебра высказываний
- •1. Высказывания и операции над ними. Формулы
- •2. Следование, эквивалентность и преобразование формул
- •3. Использование законов логики в доказательстве теорем и построении схем
- •Преобразуем эту формулу, используя соответствующие эквивалентности
- •4. Нормальные формы
- •Полные системы операций и функций. Алгебра Жегалкина
- •6. Выводимость
- •Раздел II. Алгебра предикатов
- •1. Предикат. Операции над предикатами.
- •2. Модель. Формула алгебры предикатов сигнатуры .
- •3. Формулы алгебры предикатов
- •Основные общезначимости алгебры предикатов
- •Раздел III. Логические исчисления
- •1. Исчисление высказываний ив
2. Следование, эквивалентность и преобразование формул
Введем на множестве M отношения следования и эквивалентности.
Формула B
следует из формулы A
(обозначается A
B),
если она истинна на всех наборах
высказывательных переменных, на которых
истинна формула A.
Формула A эквивалентна формуле B (обозначается A B), если они следуют друг из друга, то есть A B и B A. Легко показать, что это определение эквивалентно определению, введенному в п.1.
Теорема 2.1.
Формула B
следует из формулы A
тогда и только тогда, когда тождественно
истинна формула A
B.
Теорема 2.2. Формула A эквивалентна формуле B тогда и только тогда, когда тождественно истинна формула A~B.
Эквивалентность формул является отношением эквивалентности, поэтому множество M можно разбить на классы эквивалентности, включив в один класс эквивалентные между собой формулы. Каждой формуле U соответствует класс эквивалентности, который обозначается [U].
Теорема 2.3. Если A есть некоторая подформула формулы U и A эквивалентна формуле B, то формула, полученная заменой A в формуле U на B, эквивалентна U. Иными словами, если A B, то U(A) U(B).
Например, так как
AB
,
то (AB)C
(
)C.
Следствие. Если U~A и V~B, то:
1)
U
V
A
B;
2)
U
V
A
B;
3) U
V
A
B;
4) (U~V) (A~B);
5)
U
A.
Теорема 2.3 и ее следствие позволяют преобразовывать формулы, упрощая их, и доказывать эквивалентность формул. Приведем список основных тавтологий, выражающих свойства логических операций.
Коммутативность:
X Y Y X, X Y YX.
2. Ассоциативность:
(X Y)Z X (YZ), (XY)Z X(YZ).
3. Идемпотентность:
XX X, XX X.
Законы поглощения:
X(X Y) 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.
Тождественная истинность всех формул (кроме законов поглощения) уже доказана непосредственно построением таблиц истинности.
Задание. Доказать 1-й из законов поглощения.
Решение.
.
Приведем еще несколько эквивалентностей, имеющих широкое применение.
.
.
Склеивание:
,
.
Формула называется приведенной, если она содержит операции конъюнкции, дизъюнкции и операцию отрицания, относящуюся к высказывательным переменным.
Теорема 2.4.
Каждый класс эквивалентности [U]
может быть представлен приведенной
формулой, т.е. для любой формулы U
M
существует приведенная формула V.
Приведенная формула для данного класса эквивалентности не является единственной. Определим порядок построения приведенной формулы.
Удаляются операции импликация и эквиваленция по формулам 11, 12.
Операции отрицания спускаются до высказывательных переменных с помощью законов де Моргана и двойного отрицания.
Если это возможно, то полученная приведенная формула упрощается с помощью свойств 3, 4, 5, 6, 9, 10.
Таким образом, проверить эквивалентность формул, тождественную истинность и ложность формулы или упростить ее можно с помощью этого алгоритма.
Задание.
Упростить формулу
.
Решение. ( )
(
)
(
)
A.
Формула U* называется двойственной к приведенной формуле U, если она получена заменой операций конъюнкции на дизъюнкции и наоборот.
Теорема 3.5 (принцип
двойственности).
Пусть U(
)
– приведенная формула, тогда
U*(
)
=
U(
).
Доказательство. Обозначим k – число логических операций в формуле U. Проведем доказательство индукцией по k.
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.6. Если U V, то Ud Vd.
Доказательство. Если U V, то (U) (V). Значит, в силу теоремы 2.5, Ud(Х1, …, Хn) = U( ) и Vd(Х1, …, Хn) = V( ).
Отсюда: Ud = (U( )) (V( )) = Vd. В силу транзитивности эквиваленции, получим Ud Vd , что и требовалось доказать.