- •Введение
- •1. Математическая логика
- •1.1. Формальные модели
- •1.2. Логика высказываний
- •1.2.1. Основные теоремы логического вывода.
- •1.2.2. Семантические таблицы
- •1.2.3. Метод резолюций
- •1.3. Исчисление высказываний
- •1.3.1. Классическое исчисление высказываний
- •1.3.2. Исчисление секвенций
- •1.4. Корректность и полнота логического вывода
- •1.4.1. Корректность и полнота метода семантических таблиц
- •1.4.2. Корректность и полнота метода резолюций
- •1.4.3. Корректность и полнота аксиоматической системы вывода
- •1.4.3. Разрешимость и полнота исчисления высказываний
- •1.5. Логика предикатов
- •1.5.1. Исходные символы языка логики предикатов
- •1.5.2. Термы и формулы
- •1.5.3. Интерпретация в логике предикатов
- •Интерпретация термов
- •Интерпретация формул
- •Интерпретация атомных формул
- •Интерпретация формул с логическими связками.
- •Интерпретация формул, содержащих кванторы
- •1.5.4. Метод семантических таблиц
- •Для формул с кванторами
- •Для формулы с кванторами
- •Построение замкнутых семантических таблиц в логике предикатов
- •1.5.5. Подстановка термов в формулы
- •1.6. Исчисление предикатов
- •1.6.1. Классическое исчисление предикатов
- •Общезначимые эквивалентности логики предикатов
- •1.6.2. Исчисление секвенций
- •Правила вывода в исчислении предикатов
- •1.7. Канонические представления формул логики предикатов
- •1.7.1. Предваренная нормальная формула (пнф)
- •1.7.2. Сколемовская нормальная форма
- •1.8. Теоретико-множественное представление -формул
- •1.8.1. Эрбрановские интерпретации
- •1.8.2. Метод семантических деревьев
- •1.9. Унификация и резолюция в логике предикатов
- •1.9.1. Композиция подстановок
- •1.9.2. Унификация: неформальное описание
- •1.9.3. Метод резолюций в логике предикатов
- •Корректность и полнота исчислений логики предикатов Проблема разрешимости в логике предикатов
- •Корректность и полнота метода семантических таблиц
- •Корректность и полнота исчисления резолюций
- •Полнота и непротиворечивость исчисления предикатов
- •2. Элементы теории алгоритмов
- •2.1. Предварительное обсуждение.
- •2.1.1. Понятие алгоритма
- •2.1.2. Основные требования к алгоритмам
- •2.1.3. О подходах к уточнению понятия алгоритма.
- •2.2. Машина Тьюринга
- •2.2.1. Соединение машин Тьюринга Композиция машин Тьюринга
- •Итерация машины по паре состояний
- •Разветвление машин Тьюринга
- •Эквивалентность машин Тьюринга
- •2.2.2. Понятие об алгоритмической неразрешимости
- •Библиографический список
1.3.2. Исчисление секвенций
Исчисление секвенций (ИС) – это формальная система, в которой в алфавит языка логики высказываний добавлен символ следования, обозначаемый ├, который читается «выводимо» или «доказуемо». Правила вывода ├ ( выводима из ) применяются непосредственно к формулам, а не к таблицам истинности, позволяя из истинности одних формул делать вывод об истинности других формул. Символы , в правиле вывода обозначают одну или несколько формул; называется условием, а следствием. Если в условии или следствии формул несколько, то они записываются через запятую. Представляют интерес только такие правила вывода, с помощью которых на основании истинности всех формул, входящих в условие правила вывода, можно при любой интерпретации сделать заключение об истинности всех формул, входящих в следствие правила вывода. Обычно такие правила называют состоятельными.
Понятие формулы в исчислении высказываний определяется, как и в логике высказываний. Если U1, U2, ... , Uk , B, Gформулы, то выражения вида U1, U2, ... , Uk ├ B называются секвенциями. Далее будем рассматривать секвенции вида:
U1, U2, ... , Uk ├ B, где k>0, читается «из U1, U2, ... , Uk следует В»,
├ В, читается «В доказуема»,
U1, U2, ... , Uk ├ «система U1, U2, ... , Ukпротиворечива».
Правилом
вывода
называется выражение вида
,
где
произвольные секвенции;
называется непосредственным
следствием из
множества секвенций
по данному
правилу вывода.
Исчисление секвенций определяется схемой аксиом A├ A и множеством правил вывода.
Аксиомой называется выражение, получающееся из схемы аксиом подстановкой вместо атома A конкретной формулы.
Вывод
в ИС
это конечная последовательность
секвенций
такая, что для каждого i (1£i£k)
есть либо аксиома, либо непосредственное
следствие из предыдущих секвенций по
правилам вывода.
Секвенция
называется выводимой
в ИС, если
существует вывод в ИС, оканчивающийся
.
Правило
называется допустимым
в ИС, если
из выводимости
следует выводимость секвенции Σ.
Опишем механизм, порождающий все тавтологии.
Для большей наглядности формулировок рассмотрим кроме формул также последовательности формул и секвенции вида Г├ Ф, где Гпоследовательность формул, возможно пустая, Фформула. Высказывание входит в секвенцию, если оно входит в левую или правую часть секвенции.
Истинность секвенции: секвенция истинна, если при любых логических значениях всех входящих в нее высказываний из истинности всех формул, входящих в левую часть секвенции, следует истинность формулы в правой части секвенции. Секвенция с пустой левой частью истинна, если правая часть тождественно истинна. Остальные секвенции назовем ложными. Например, секвенция (А®В), (В®С), (С®Х) ├ (А®Х) истинна. Напротив, секвенция (Х Ú (У®Х)) ├Z - ложна.
Истинность секвенции
Ф1 Ф2 ... ФS ├ Ф
равносильна тому, что формула (Ф1(Ф2 .. (ФS Ф) ...) - является тавтологией.
Любая секвенция вида Ф├ Ф, где Ф формула, истинна. Эта секвенция является единственной аксиомой исчисления секвенций.
Пусть символы Г1, Г2, Г3, Г – означают конечные последовательности формул, возможно пустые, U, A, B, C –произвольные формулы. Основные правила вывода в исчислении секвенций:
Введение &:
Удаление &:
Введение :
Удаление :
Введение :
Удаление :
Введение :
Удаление :
Сведение к противоречию:
Утончение:
Расширение:
Перестановка:
Сокращение:
Сечение:
Использование аксиом и правил вывода позволяет получать новые истинные секвенции и новые допустимые правила вывода, которые становятся допустимыми в исчислении секвенций.
Далее для обозначения используемых правил вывода применяются сокращения: ввΔ, удΔ, сокращ., перест., сеч. для обозначения правил: введениеΔ, удалениеΔ, сокращение, перестановка, сечение соответственно, Δ{&, , , }.
Примеры.
1. Вывести секвенцию ├ (UU).
Для доказательства истинности секвенции необходимо построить вывод, в котором доказываемая секвенция окажется последней. Начнем доказательство с аксиомы:
Σ1: U ├ U; Далее, воспользовавшись правилом (5) (введение), получаем: Σ2: ├ (UU).
2. Вывести секвенцию (UB), (BC), U|–C.
Σ1: U ├ U (аксиома),
Σ2: (UB) ├ (UB) (аксиома),
Σ3: U, (UB) |– B (правило 6, Σ1, Σ2),
Σ4: (B C) ├ (BC) (аксиома),
Σ5: U, (UB), (BC)├ C (правило 6, Σ3, Σ4),
Σ6: (UB), U, (BC) ├ C (правило 12, Σ5),
Σ7: (UB), (BC), U ├ C (правило 12, Σ6).
3.
Доказать,
что допустимо следующее правило вывода
.
Построим прямое дерево вывода.
4.
Доказать,
что допустимо следующее правило вывода
.
5. Доказать, что допустимо правило вывода
Примеры показывают способ доказательства допустимости секвенций, который включает введение аксиом, и последующее получение требуемых секвенций с применением правил вывода к этим аксиомам.
Автоматизированное доказательство терем исчисления высказываний требует выполнения большого числа переборов, включая выбор подходящих аксиом, и подходящих правил вывода на каждом последующем шаге. При построении доказательства «вручную» в выборе последовательности правил вывода участвует интуиция, которая отсутствует у программы.
Для реализации компьютерных программ, выполняющих доказательства теорем в исчислении секвенций, более предпочтительным является обратное доказательство, которое состоит в последовательном подборе аксиом и правил вывода, следствием которых является рассматриваемая секвенция. В этом случае подбор правил вывода является целенаправленным и может быть выполнен меньшим числом переборов. Обратный вывод состоит в построении дерева формул.
Дерево формул есть по определению некоторая двумерная фигура, составленная из формул языка по следующим индуктивным правилам:
каждая формула А является сама по себе деревом формул, нижней формулой этого дерева считается по определению сама формула А.
если D1 и D2 суть деревья с нижними формулами вида А и АВ соответственно, то фигура
есть дерево формул. Мы говорим, что формула В получена в этом дереве из А и АВ по правилу MP.
Есть D1 – дерево формул с нижней подформулой А и х переменная, то фигура
есть также дерево формул. Мы говорим,
что нижняя формула хА
получена из А по правилу обобщения.
Определение дерева формул закончено.
Последовательность вхождений формул в дерево, начинающаяся с нижней формулы дерева и продолжающаяся без пропусков до одной из самых верхних формул дерева называется ветвью дерева формул. Количество формул в самой длинной ветви дерева называется высотой дерева формул. Верхние формулы дерева формул, не имеющие вида аксиом исчисления предикатов, называются гипотезами, или открытыми посылками, дерева формул.
Рассмотрим пример обратного вывода. Докажем, что секвенция
(UB) |- ((G&U)(G&B)) выводима.
В верхней строке запишем секвенцию, которую нужно вывести. В каждой из последующих строк запишем секвенции и правила вывода, из которых выводится верхняя секвенция.
Обозначение примененного правила записано справа от линии, разделяющей расположенные в нижней строке секвенции, к которым применено правило, и результирующие секвенции, расположенные в верхней строке.
Доказательство заканчивается, когда в нижней строке записаны только аксиомы. Это соответствует определению выводимой секвенции, приведенному выше: секвенция доказуема, если существует вывод, в котором она является последней. В свою очередь, вывод в данном случае является последовательностью секвенций, которая начинается с аксиом, расположенных в нижней строке таблицы, и в которой каждая последующая секвенция получена из аксиом или вновь полученных секвенций с использованием правил вывода.
Иногда для доказательства допустимости правила вывода необходимо использовать правила равносильных преобразований формул, известных из теории булевых функций.
Примеры
1.
Доказать
выводимость секвенции
Из
теории булевых функций известно, что
Это соотношение будет использовано в
дальнейшем выводе.
2.
Вывести
секвенцию
Представим эквивалентность в виде конъюнкции двух импликаций. Затем, используя правило введения конъюнкции, получаем во второй строке доказательства две секвенции. Далее строим дерево обратного вывода для каждой из секвенций.
Ниже приведено доказательство для левой секвенции. Доказательство правой секвенции строится аналогично.
