- •Математическая логика Введение
- •Раздел 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 , что и требовалось доказать.