
- •6. Модальная и темпоральная логикИ
- •6.1. Синтаксис модальной логики
- •Дополнительные логические связки
- •Приоритеты операций
- •Смысловые значения модальностей
- •6.2. Семантика модальной логики
- •Модели Крипке
- •Упражнение 1
- •Упражнение 2
- •Семантика темпоральной логики
- •Упражнение 3
- •Тавтологии
- •Упражнение 4
- •Условные тавтологии
- •Упражнение 5
- •6.3. Алгоритмическая логика Хоара
- •Пропозициональная динамическая логика
- •Семантика пропозициональной динамической логики
- •Аксиомы pdl
- •Правила вывода
- •Логика Хоара
- •Корректность и полнота систем Гильберта
- •Свойства шкал Крипке
- •Алгоритм Салквиста
- •Пример 2
- •Пример 3
- •Пример 6
- •6.5. Темпоральная логика
- •Система Гильберта для темпоральной логики
- •Линейные потоки времени
- •Стандартный перевод
- •Завтра и вчера
- •Выбор операторов
- •7. Алгоритмы и рекурсивные функции
- •7.1. Частично рекурсивные функции
- •Простейшие функции
- •Пример 1
- •Оператор примитивной рекурсии
- •Пример 2
- •Пример 4
- •Пример 5
- •Пример 6
- •Оператор минимизации
- •Пример 7
- •7.2. Машины Тьюринга
- •Пример 1
- •Пример 2
- •Пример 3
- •Упражнение
- •7.3. Вычислительная сложность
- •Труднорешаемые и np-полные задачи
- •6. Модальная и темпоральная логикИ 49
- •7. Алгоритмы и рекурсивные функции 65
Аксиомы pdl
Можно ожидать, что для любых формулы А и программы формула <*>А, (означающая возможность того, что после кратного применения машина перейдёт в состояние, удовлетворяющее формуле А), будет равносильна формуле А <; *>А, (означающей, что верно А, или А будет, возможно, верно после применения не менее, чем 1 раз). Получим аксиому:
<*>А А <; *> А.
Аналогично, исходя из других соображений, получаем аксиомы PDL и формальную теорию:
-
все тавтологии исчисления высказываний;
-
<>A & <>B <>(A & B);
-
<>(A B) <>A <>B);
-
< >A <>A <>A;
-
< ; >A <><>A;
-
<A?>B A&B;
-
A <><*>A <*>A;
-
<*>A A <*> (A & <>A).
Аксиомы 1 – 3 стандартны для модальных логик. Аксиома 8 равносильна аксиоме Сегерберга:
[*](A []A) (A [*]A)
и называется аксиомой PDL – индукции.
Правила вывода
;
.
Для формальной теории PDL справедливы теорема корректности и полноты.
Логика Хоара
Как мы уже отмечали, логика Хоара предназначалась для дедуктивного доказательства правильности программ. Её формулами являются тройки {А}{В}, состоящие из предусловия А, программы и постусловия В. Приведём форму записи, применяемой Хоаром, и её перевод на язык исчисления PDL:
skip |
= 1? |
fail |
= 0? |
if A then else |
= (A? ; ) (A? ; ) |
if A1 1 |…| An n fi |
= (A1? ; 1) … (An? ; n) |
do A od |
= (A1? ; )* ; (A)? |
{A}{B} |
= A [] B |
Форма {A}{B} называется тройкой Хоара. Логика Хоара является формальной теорией для вывода с помощью троек Хоара. Преобразуя аксиомы языка PDL, можно получить следующие правила вывода логики Хоара:
(композиция)
(условие)
(цикл)
(следствие).
6.4. Системы Гильберта
Опишем формальную теорию, которая называется системой K:
Аксиомы
-
Если А(Р1, …, Рn) – тавтология исчисления высказываний, а В1, …, Вn – модальные формулы, то А(В1, …, Вn) – аксиома системы K (пропозициональные тавтологии).
-
Для любых формул А и В формула
(А В) (
А
В) является аксиомой системы K (аксиома нормальности).
Правила вывода
;
.
Формальная теория, содержащая систему K, называется системой Гильберта.
Строгие системы Гильберта
Добавляя аксиомы к системе K, получаем её усиления. Эти аксиомы соответствуют различным (указанным далее в квадратных скобках) свойствам шкал Крипке (речь о свойствах пойдёт далее):
Т: А
А [рефлексивность];
D: А
А
[определённость всюду];
4: А
А
[транзитивность];
В: А
А
[симметричность];
5: А
А
[с аксиомой Т – отношение эквивалентности].
Система К вместе с аксиомой Т обозначается через KТ или S. Такое определение записывается как:
S
= K + {А
А}.
Аналогично, добавляя к K другие аксиомы, получаем следующие системы Гильберта:
K4
= K + {А
А
};
S4
= K + {А
А,
А
А};
S5
= K + {А
А, А
А}.
Выводимость. Пусть H – система Гильберта. (Согласно определению, она должна содержать аксиомы и правила вывода системы K).
Определение.
Запись
HA
означает, что существует последовательность
формул А1,
…, Аn
таких, что
1) An = A;
2) Каждая формула Ai является либо аксиомой системы H, либо получена аз некоторых формул последовательности A1, …, Ai-1 с помощью правил вывода системы H.
В этом случае А называется теоремой в H, а последовательность A1, …, An – выводом формулы (или доказательством теоремы) А. Число n называется длиной вывода (доказательства).
Пример 1
Последовательность:
A
& B
A,
(A
& B
A),
(A
& B
A)
(
(A
& B)
A),
(A
& B)
A
является доказательством
длины 4 теоремы
(A
& B)
A.