- •Содержание
- •1 Элементы теории множеств. Комбинаторика. 5
- •Математическая логика: Булева аллгебра 88
- •Теория алгоритмов 129
- •Теория графов 162
- •Математическая логика: Исчисления высказываний и предикатов 207
- •Элементы теории множеств. Комбинаторика.
- •Введение
- •Примеры задач.
- •Задача о расположении конвертов
- •Задача о Ханойской башне
- •Базовые обозначения
- •Правило суммы и правило произведения
- •Основы теории множеств
- •Понятие множества
- •Парадокс Рассела
- •Подмножества
- •Операции над множествами
- •Диаграммы Эйлера-Венна
- •Прямое произведение множеств
- •Бинарные отношения и функции
- •Бинарные отношения
- •Функции
- •Специальные бинарные отношения: Отношение эквивалентности
- •Специальные бинарные отношения: Отношение порядка
- •Лексикографический порядок
- •Выборки с повторениями и без повторений
- •Размещения и сочетания
- •Треугольник Паскаля
- •Связь сочетаний и (0,1)-векторов
- •Перебор сочетаний
- •Бином Ньютона
- •Мультимножества
- •Связь мультимножеств и (0,1)-векторов
- •Полином Ньютона
- •Разбиения множеств.
- •Приложение: программа перебора сочетаний
- •Перестановки
- •Понятие перестановки
- •Группа перестановок
- •Циклы перестановки
- •Тип перестановки
- •Разложения и разбиения натуральных чисел
- •Разложения натуральных чисел
- •Разбиения натуральных чисел
- •Принцип включения-исключения
- •Принцип включения-исключения
- •Задача о беспорядках
- •Мощность объединения множеств
- •Число целочисленных решений системы неравенств
- •Математическая логика: Булева аллгебра
- •Булева алгебра. Функции алгебры логики.
- •Булевы функции
- •Формулы
- •Основные тождества
- •Разложение функции по переменным
- •Дизъюнктивная и конъюнктивная нормальные формы
- •Полином Жегалкина
- •1 ⊕ X1 ⊕ x2x3 - полином Жегалкина.
- •Полнота системы функций
- •Функции, сохраняющие ноль
- •Функции, сохраняющие единицу
- •Двойственность
- •Монотонность
- •Линейность
- •Критерий полноты системы функций
- •Теория алгоритмов
- •Машины Тьюринга
- •Понятие алгоритма
- •Машина Тьюринга
- •Способы записи машины Тьюринга
- •Стандартные конфигурации
- •Вычислимые функции
- •Алгоритмически неразрешимые задачи
- •Сложность алгоритма
- •Полиномиальная сводимость
- •Классы задач в форме распознавания свойств
- •4 Теория графов
- •4.1 Определения графа
- •Общее определение
- •Виды графов
- •Обыкновенный граф
- •Примеры графов
- •Графы Бержа
- •4.2 Изоморфизм графов
- •4.2.1 Инварианты графа
- •Операции
- •Основные операции над графами
- •Подграфы
- •Дополнение графа
- •Маршруты и связность
- •Деревья
- •Матрицы, связанные с графом
- •Матрица смежности
- •Матрица инцидентности
- •Список ребер
- •Обходы графов
- •Эйлеров цикл
- •Гамильтонов цикл
- •Задачи и алгоритмы
- •Остов минимального веса
- •Алгоритм 4.8.1 (Алгоритм Краскала).
- •Задача коммивояжера
- •Задача о клике
- •Задача о вершинном покрытии
- •Задача о гамильтоновом цикле
- •Снова задача коммивояжера
- •Алгоритм дерева
- •Математическая логика: Исчисления высказываний и предикатов
- •Исчисление высказываний
- •Пример задачи логики высказываний
- •Формальные теории
- •Формальная теория исчисление высказываний
- •Теоремы исчисления высказываний
- •Теорема о полноте исчисления высказываний
- •Независимость аксиом исчисления высказываний
- •Исчисление предикатов
- •Пример задачи логики предикатов
- •Формальная теория исчисление предикатов
- •Алфавит.
- •Формулы.
- •Аксиомы.
- •Правила вывода.
- •Интерпретация
- •Литература
Теорема о полноте исчисления высказываний
Лемма 5.1.6 . Аксиомы теории L являются тавтологиями.
Доказательство. 1)
(A ⊃ (B ⊃ A)) = A ∨ B ∨ A = 1.
2)
((A ⊃ (B ⊃ C)) ⊃ ((A ⊃ B) ⊃ (A ⊃ C))) =
= A ∨ B ∨ C ∨ A ∨ B ∨ A ∨ C = ABC ∨ AB ∨ A ∨ C =
= (AB ∨ C)(C ∨ C) ∨ (A ∨ A)(B ∨ A) = AB ∨ C ∨ B ∨ A =
= (A ∨ A)(B ∨ A) ∨ C ∨ B = B ∨ A ∨ C ∨ B = 1
3)
((¬B ⊃ ¬A) ⊃ ((¬B ⊃ A) ⊃ B) = B ∨ A ∨ B ∨ A ∨ B =
= BA ∨ B A ∨ B = B(A ∨ A) ∨ B = B ∨ B = 1.
D
Лемма 5.1.7 . Любая теорема теории L является тавтологией.
Доказательство. Пусть для формулы A теории L существует вывод A1, A2, ..., An = A. Докажем по индукции, что Ai - тавтология, i = 1, n. По определению вывода, A1 является аксиомой и по лемме 5.1.6 она является
тавтологией.
Пусть формулы Ai - тавтология, ∀i = 1, k. Рассмотрим Ak+1:
она является аксиомой, или получена по правилу вывода modus po- nens из предыдущих формул. Если Ak+1 - аксиома, то она является тавтологией по лемме 5.1.6. Пусть Ak+1 получена по правилу modus ponens из формул Ai и Aj = Ai ⊃ Ak+1, i, j ≤ k. По индукционному предположению, Ai и Aj - тавтологии. Пусть, на некотором наборе значений пропозициональных букв формула Ak+1 принимает значение 0.
Тогда на этом наборе
Aj = Ai ⊃ Ak+1 = 1 ⊃ 0 = 0. ?!
Противоречие. Следовательно Ak+1 - тавтология. Следовательно A - тавтология.
D
Пусть A - формула, в которую входят пропозициональные буквы B1,
B2, ..., Bk. Когда нам будет необходимо подчеркнуть, от каких значений
рассматривается A, будем писать A(α1, α2, ..., αk), имея в виду, что вместо
пропозициональной буквы Bi подставляется значение αi, i = 1, k.
Как и раньше, будем использовать знак степени для обозначения наличия или отсутствия отрицания:
( B, σ = 1,
Bσ =
¬B, σ
= 0.
Лемма 5.1.8 . Пусть B1, B2, ..., Bk - все пропозициональные буквы, которые входят в формулу A, и пусть σ1, σ2, ..., σk - логические
константы. Тогда
Bσ1 σ2 σk
A(σ1,σ2,...,σk )
1 , B2 , ..., Bk f-- A .
Доказательство. Докажем по индукции по числу j логических связок в формуле A.
1
Пусть j = 0. Тогда A = B1, A(σ1) = σ1, AA(σ1) = Bσ1 .
Bσ1 f-- Bσ1 = AA(σ1).
Пусть утверждение верно для любого j < n. Докажем для случая n логических связок в A. Формула A, в зависимости от своей последней логической связки, может быть одного из двух видов: A = ¬A1 или A = (A1 ⊃ A2).
Пусть A = ¬A1. Рассмотрим два варианта
Пусть A1(σ1, ..., σk) = 0. По индукционному предположению
Bσ1 σ2 σk
¬A1(σ1,...,σk )
A(σ1,...,σk )
1 , B2 , ..., Bk f-- ¬A1. ¬A1 = A = A
тельно,
Bσ1 σ2 σk
1 , B2 , ..., Bk f-- A
= A . Следова-
A(σ1,σ2,...,σk ).
Пусть A1(σ1, ..., σk) = 1.
AA(σ1,...,σk ) = A¬A1(σ1,...,σk ) = ¬A = ¬¬A1.
По индукционному предположению Bσ1 , Bσ2 , ..., Bσk
f-- A1. Построим
вывод:
1 2 k
A1 ⊃ ¬¬A1 - пункт 2 из леммы 5.1.5.
A1 - посылка.
¬¬A1 - MP из 2 и 1.
Таким образом, A1 f-- ¬¬A и
Bσ1 σ2 σk
A(σ1,σ2,...,σk )
1 , B2 , ..., Bk f-- ¬¬A1 = A .
Пусть A = (A1 ⊃ A2). Рассмотрим несколько вариантов.
Пусть A1(σ1, ..., σk) = 0, A2(σ1, ..., σk) = 0. Тогда
Bσ1 σk
σ1 σk
1 , ..., Bk f-- ¬A1, B1 , ..., Bk f-- ¬A2.
AA(σ1,...,σk ) = A0⊃0 = A = (A1 ⊃ A2).
Рассмотрим вывод:
¬A1 - посылка.
¬A1 ⊃ (A1 ⊃ A2) - пункт 3 из леммы 5.1.5.
(A1 ⊃ A2) - MP из 1 и 2.
Таким образом, ¬A1 f-- (A1 ⊃ A2) = AA(σ1,...,σk ) ⇒
Bσ1 σk
A(σ1,...,σk )
1 , ..., Bk f-- A .
Пусть A1(σ1, ..., σk) = 0, A2(σ1, ..., σk) = 1. Тогда
Bσ1 σk
σ1 σk
1 , ..., Bk f-- ¬A1, B1 , ..., Bk f-- A2.
AA(σ1,...,σk ) = A0⊃1 = A = (A1 ⊃ A2).
Рассмотрим вывод:
¬A1 - посылка.
¬A1 ⊃ (A1 ⊃ A2) - пункт 3 из леммы 5.1.5.
(A1 ⊃ A2) - MP из 1 и 2.
Таким образом, ¬A1 f-- (A1 ⊃ A2) = AA(σ1,...,σk ) ⇒
Bσ1 σk
A(σ1,...,σk )
1 , ..., Bk f-- A .
Пусть A1(σ1, ..., σk) = 1, A2(σ1, ..., σk) = 0. Тогда
Bσ1 σk
σ1 σk
1 , ..., Bk f-- A1, B1 , ..., Bk f-- ¬A2.
AA(σ1,...,σk ) = A1⊃0 = A0 = ¬(A1 ⊃ A2).
Рассмотрим вывод:
A1 - посылка.
¬A2 - посылка.
3. A1 ⊃ (¬A2 ⊃ ¬(A1 ⊃ A2)) - пункт 6 из леммы 5.1.5.
4. ¬A2 ⊃ ¬(A1 ⊃ A2) - MP из 1 и 3.
5. ¬(A1 ⊃ A2) - MP из 2 и 4.
Таким образом, A1, ¬A2 f-- ¬(A1 ⊃ A2) = AA(σ1,...,σk ) ⇒
Bσ1 σk
A(σ1,...,σk )
1 , ..., Bk f-- A .
Пусть A1(σ1, ..., σk) = 1, A2(σ1, ..., σk) = 1. Тогда
Bσ1 σk
σ1 σk
1 , ..., Bk f-- A1, B1 , ..., Bk f-- A2.
AA(σ1,...,σk ) = A1⊃1 = A = (A1 ⊃ A2).
Рассмотрим вывод:
A2 - посылка.
A2 ⊃ (A1 ⊃ A2) - аксиома 1.
(A1 ⊃ A2) - MP из 1 и 2.
Таким образом, A2 f-- (A1 ⊃ A2) = AA(σ1,...,σk ) ⇒
Bσ1 σk
A(σ1,...,σk )
1 , ..., Bk f-- A .
Утверждение доказано.
D
Пример 5.1.4 . Пусть, A = B1 ⊃ B2. Если σ1 = 1, σ2 = 0, то
A(σ1, σ2) = 0. Следовательно, по лемме 5.1.8,
B1, ¬B2 f-- ¬(B1 ⊃ B2).
Покажем, что это действительно так. Вывод:
1) B1 ⊃ (¬B2 ⊃ ¬(B1 ⊃ B2)) - лемма 5.1.5 пункт 6.
B1 - посылка.
¬B2 - посылка.
4) (¬B2 ⊃ ¬(B1 ⊃ B2)) - MP из 2 и 1.
5) ¬(B1 ⊃ B2) - MP из 3 и 4.
Что и требовалось доказать.
Теорема 5.1.9 (о полноте исчисления высказываний). Формула A формальной теории L есть тавтология тогда и только тогда, когда A - теорема теории L.
Доказательство. Достаточность следует из леммы 5.1.7.
Покажем необходимость. Пусть A - тавтология. Пусть B1, B2, ..., Bk
все пропозициональные буквы, которые входят в формулу A, и пусть
σ1, σ2, ..., σk - логические константы. По лемме 5.1.8
Bσ1 σ2
σk−1 σk
A(σ1,σ2,...,σk )
1 , B2 , ..., Bk−1 , Bk f-- A .
Поскольку A - тавтология, AA(σ1,σ2,...,σk ) = A для любых наборов σi.
Тогда,
Bσ1 σ2
σk−1
1 , B2 , ..., Bk−1 , Bk f-- A,
Bσ1 σ2
σk−1
По теореме о дедукции,
1 , B2 , ..., Bk−1 , ¬Bk f-- A.
Bσ1 σ2
σk−1
1 , B2 , ..., Bk−1 f-- Bk ⊃ A,
Bσ1 σ2
σk−1
Построим вывод:
1 , B2 , ..., Bk−1 f-- ¬Bk ⊃ A.
Bk ⊃ A - посылка.
¬Bk ⊃ A - посылка.
(Bk ⊃ A) ⊃ ((¬Bk ⊃ A) ⊃ A) - теорема 7 из леммы 5.1.5.
((¬Bk ⊃ A) ⊃ A) - MP из 1 и 3.
A - MP из 2 и 4.
Следовательно,
Bσ1 σ2
σk−1
1 , B2 , ..., Bk−1 f-- A.
Таким образом, мы избавились от Bk в списке посылок для вы- вода формулы A. Повторяя процесс, мы можем показать, что
Bσ1 σ2
σk−2
1 , B2 , ..., Bk−2 f-- A и так далее, пока не получим, что f-- A.
D
Замечание 5.1.5 . Формальная теория L является разрешимой, поскольку для любой формулы мы можем проверить, является ли она тавтологией и, следовательно, теоремой L.
Определение 5.1.11 . Формальная теория T с операцией ¬ непротиворечива, если в ней не существует такой формулы A, что f--T A и f--T ¬A.
Следствие 5.1.10 . Формальная теория L непротиворечива.
Доказательство. Если f-- A, то A - тавтология. Тогда ¬A не является тавтологией и по теореме 5.1.9: /f-- ¬A.
D