- •Введение
- •Тема 1. Логика высказываний
- •1.1. Понятие высказывания
- •1.2. Логические операции
- •1. Отрицание или инверсия ( – не)
- •Конъюнкция ( ,, ·, логическое и )
- •4. Импликация ( ) “если а, то b”
- •6. Сумма по модулю два
- •7. Штрих Шеффера ( , обратная конъюнкция и – не)
- •8. Стрелка Пирса ( , обратная дизъюнкция или – не )
- •1.3. Булевы функции
- •1.3.1. Некоторые определения из теории множеств
- •1.3.2. Булевы функции
- •1.4. Формулы
- •1.5. Равносильные формулы
- •1.6. Подстановка и замена
- •1.7. Формы представления высказываний
- •1.8. Минимизация сложных высказываний методом Квайна
- •1.9. Полные системы функций
- •1.9.1. Система функций { }
- •1.9.2. Замкнутые классы
- •1.9.3. Функциональная полнота
- •Тема 2. Логические исчисления
- •2.1. Интерпретация формул
- •2.2. Примеры тождественно истинных формул высказываний
- •2.3. Формальные теории
- •Выводимость.
- •2.5. Интерпретация формальных теорий
- •2.6. Исчисление высказываний.
- •2.7. Производные правила вывода
- •2.8. Дедукция
- •2.9. Некоторые теоремы теории £
- •Тема 3. Логика и исчисление предикатов
- •3.1. Предикаты
- •3.2. Исчисление предикатов
- •3.3. Интерпретация
- •3.4. Основные равносильности для предикатов
- •3.5. Приведенная форма представления предикатов
- •Тема 4. Автоматическое доказательство теорем
- •4.1. Постановка задачи
- •4.2. Доказательство от противного
- •4.3.Правило резолюции для исчисления высказываний
- •4.4. Правило резолюции для исчисления предикатов
- •4.5. Основные положения мр (выводы)
- •4.6. Логическое программирование
- •Тема 5. Теория алгоритмов
- •5.1. Интуитивное понятие алгоритма
- •5.2. Конкретизация понятия алгоритма
- •5.2.1. Машины Тьюринга
- •5.2.3. Рекурсивные функции
- •5.2.3. Нормальные алгорифмы Маркова
- •5.3. Алгоритмически неразрешимые проблемы
- •5.3.1. Проблема самоприменимости
- •5.3.1.1. Нумерация мт
- •5.3.1.2. Самоприменимость мт
- •5.3.2. Проблема останова
- •5.3.3. Разрешимые и неразрешимые задачи математики
- •5.4. Характеристики сложности вычислений
- •5.5. Классы сложности задач
- •5.5.1. Р задачи
- •5.5.2. Np задачи
Пермский Государственный Технический Университет
Кафедра Информационных технологий и автоматизированных систем
Викентьева О. Л.
Математическая логика и теория алгоритмов
конспект лекций
для студентов специальностей АСУ, ЭВТ, КЗИ
Пермь, 2007 г.
Введение
Математическая логика - это современный вид формальной логики. Логика – это наука правильно рассуждать, имея какие-то утверждения, истинность которых проверена, например, на опыте. С помощью утверждений можно придти к новому утверждению, которое также может оказаться истинным.
Исходное утверждение называется посылкой, результирующее утверждение – заключением.
Пример 1.
П1: Все люди смертны.
П2. Сократ – человек.
З: Сократ смертен.
Пример 2.
П1: Все граждане России имеют право на образование.
П2: Иванов – гражданин России.
З: Иванов имеет право на образование.
Оба эти вывода имеют одну и ту же форму:
Все А есть В;
С есть А;
Следовательно, С есть В.
В этих рассуждениях нам не интересна истинность или ложность отдельных посылок. Нам важно знать вытекает ли истинность заключения из истинности посылок.
Таким образом, основная задача логики – это формализация правильных способов рассуждения. Если при этом применяется математический аппарат, то такую логику можно назвать математической.
Тема 1. Логика высказываний
1.1. Понятие высказывания
Рассмотрим логику высказываний, которая лежит в основе всех других разделов математической логики (МЛ) и необходима для их понимания.
Логика высказываний строится также как и другие математические теории. В качестве основных понятий берется некоторый класс объектов, а также некоторые свойства, отношения и операции над этими объектами.
Основным объектом логики высказываний служат простые высказывания. Высказывание – это предложение, о котором можно сказать истинно оно или ложно.
Примеры.
Число 100 делится на 5.
Число 3 больше числа 5.
Луна больше Земли.
Сегодня светит солнце.
Вечером мы пойдем в кино.
Из простых высказываний с помощью некоторого числа логических операций можно построить сложные высказывания.
Число 100 делится на 5 и число 100 делится на 10.
Неверно, что 3 больше 5.
Сегодня мы пойдем в кино или мы пойдем в театр.
При изучении логики высказываний не обращают внимание на содержание простых высказываний, а интересуются только их истинностью или ложностью.
Сложные высказывания, получаемые из простых, будут также истинными или ложными. Их истинность или ложность будет зависеть от истинности образующих их простых высказываний.
1.2. Логические операции
Для изучения логических операций введем следующую систему обозначений:
простые высказывания будем обозначать буквами a, b, c, …, x, y ,z;
значения истинности будем обозначать 1 – истинно, 0 – ложно.
Действия логических операций будем представлять в виде таблиц истинности.
1. Отрицание или инверсия ( – не)
Пример.
а: 7 делится на 5 без остатка.
а: Неверно, что 7 делится на 5 без остатка.
а |
а |
0 |
1 |
1 |
0 |
Эта таблица и принимается в качестве определения операции отрицания.
Конъюнкция ( ,, ·, логическое и )
Действие операции определяется следующим образом: сложное высказывание аb истинно только в том случае, когда оба высказывания (а и b) имеют значение истинно.
а |
b |
аb |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Примеры.
а. 6 делится на 3 без остатка (1);
b. 10 больше 5 (1);
с. 7 делится на 3 без остатка (0);
d. 3 больше 7 (0);
a&b=1
a&c=0
c&d=0
3. Дизъюнкция (,+,логическое ИЛИ)
Действие операции определяется следующим образом: сложное высказывание ав ложно только в том случае, когда оба высказывания (а и в) ложны.
a |
b |
ab |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Примеры.
аb=1
ac=1
cd=0