
- •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
Корректность и полнота систем Гильберта
Можно
показать, что
KA
имеет место тогда и только тогда, когда
А – тавтология; утверждение
KТA
равносильно тому, что А – тавтология
относительно класса всех рефлексивных
шкал Крипке;
S4A
равносильно тому, что А – тавтология
относительно класса транзитивных шкал.
Свойства шкал Крипке
Мы
раньше доказывали, что аксиома Т (q
q) является тавтологией относительно
шкалы F = (W, R) тогда и только тогда, когда
R – рефлексивно. Можно доказать, что
аксиома 4 (
q
q)
является тавтологией относительно F =
(W, R), если и только если R транзитивно.
Аксиома D(
q
q)
будет тавтологией относительно (W, R)
тогда и только тогда, когда Dom R = W (т.е.
tWuW
(tRu)). Возникает
вопрос о способе нахождения свойства
шкал, относительно которых заданная
формула является тавтологией. Опишем
один из путей решения этой проблемы,
принадлежащий Салквисту. С этой целью
рассмотрим символы: 1, 0, &, ,
,
как примитивные (не связанные между
собой). Но А
В будет по-прежнему сокращением для
формулы: (А
& В).
Строго
позитивными
будем называть формулы: р,
p,
p,
…, где р – атом. Позитивной
называется формула, не использующая .
Негативная
формула – это отрицание некоторой
позитивной формулы. Несвязной
называется формула, полученная из
негативных и строго позитивных формул
с помощью операций & и .
Формулой
Салквиста
называется отрицание некоторой несвязной
формулы. Например:
формула
р
р эквивалентна формуле Салквиста ([
p]
& [p]);
р
р
– формуле Салквиста ([
р]
& [
р])
и
формуле Салквиста ([р]
& [р]);
р
р
– формулам Салквиста ([р]
& [
р])
и ([р]
& [р]);
р
р
– формуле Салквиста ([
р]
& [
р]).
Однако
(
pp)
не эквивалентна никакой формуле
Салквиста.
Теорема Салквиста. В 1973 году Салквист установил, что каждой формуле Салквиста соответствует некоторое свойство шкалы. Перед формулировкой этой теоремы введём определения и докажем лемму.
Пусть F = (W, R) – шкала Крипке, и пусть h, h : P P(W) – оценки. Полагая hh, если h(p) h(p) для всех p P, получим отношение порядка на множестве оценок. Если hh, то h называется сужением h, а h – расширением h.
Лемма. Пусть А – позитивная формула, F = (W, R) – шкала Крипке, h h – оценки, t W – произвольный мир. Тогда, если (W, R, h), t |= A, то (W, R, h), t |= A.
Доказательство. С помощью индукции по количеству логических связок и модальностей в формуле А. Для атомов р:
(W, R, h), t |= р t h(p) t h(p) (W, R, h), t |= р.
Если
А = 1, или А = 0, то утверждение справедливо.
Случаи А & В и А
В проверяются легко. Случай А
не возникает в силу позитивности формулы
А. Докажем утверждение для А
(аналогично для А),
в предположении, что для А оно верно.
Пусть (W, R, h), t |=
А.
Тогда для всех u
W, для которых tRu, будет верно (W, R, h),
t
|= А. Для А утверждение верно, значит, (W,
R, h),
t |= А. Следовательно, (W, R, h),
t |=
А,
что и требовалось доказать.
Мы можем переводить модальные формулы в формулы языка первого порядка.
Пусть х – переменная. Переводом формулы А будет некоторая формула А*(х) языка первого порядка, имеющая не более одной свободной переменной и определённая по индукции:
-
атом р Р переводится в р*(х), где р* – символ унарного отношения;
-
1* = 1; 0* = 0;
-
(А)* = (А*);
-
(А & В)* = А* & В*; (А В)* = А* В*;
-
(
А)*(х) = (y(xRy A*(y)));
-
(А)*(х) = (y(xRy & A*(y))).
Здесь R – отношение доступности. Например:
(р
р)*(х) = (
р
& р)*(х)
= (
р*(х)
& р*(х))
= (y(xRy
p*(y)) & р*(х));
(
(p
q))*(x)
= y(xRy
(p
q)*(y))
= y(xRy
(p*(y)
z(yRz
& q*(z)))).
Теорема (о соответствии Салквиста). Каждой формуле Салквиста А соответствует некоторое свойство первого порядка шкал Крипке. Шкала Крипке будет обладать этим свойством тогда и только тогда , когда А будет тавтологией относительно этой шкалы. Существует алгоритм получения этого свойства из формулы А.
Замечание. Салквист установил, что после добавления формулы Салквиста к системе K в качестве аксиомы получается корректная и полная формальная теория.
Доказательство теоремы. Пусть А – несвязная формула. Например:
А
= (q
& ([c]
& [p]))
& [
p],
где р – позитивная
формула. Здесь А построена из строго
позитивных
p,
p,
q и негативной c
формул с помощью & и .
Предположим, что А
не является тавтологией относительно
шкалы F = (W, R). Тогда существует модель
(W, R, h) и мир tW такие,
что M, t |= A. Для нашего примера:
M,
t |= (q
& (c
& [p]))
& [
p].
Это
означает, что существует схема из шести
миров, соответствующих ромбикам,
связанных с помощью путей в графе R с
миром t. Для этих миров ti
справедливы утверждения:
M, ti
|= Bi,
где Bi
– либо строго позитивные, как
…
р,
либо негативные, как с.
Далее будем использовать префиксную форму записи R(x, y) для xRy. Таким образом, R(x, y) = 1, если и только если (x, y) R.
Чтобы получить имена миров, будем использовать стандартный перевод А*(t). В нашем примере А*(t) будет утверждением о существовании миров t1, …, t6, удовлетворяющих следующим условиям:
R(t,
t1),
R(t1,
t2),
R(t1,
t3),
R(t3,
t4),
R(t, t5),
R(t5,
t6);
M, t2
|= q; M, t3
|= с;
M, t4|
=
p;
M, t4
|=
p.
По
лемме, если мы ‘сузим’
h, сделав атомы истинными в меньшем
подмножестве миров, то негативные
формулы, например с,
все останутся верными в их собственных
мирах в схеме (в нашем примере в t3).
Существует наименьшая оценка h, которая
сохраняет все полученные формулы
истинными в их мирах. Можно доказать,
что наименьшая оценка, делающая истинной
А в мире t будет из тех, которые делают
истинными все строго позитивные формулы
…
р
в их мирах.
В
нашем случае истинность
р
в мире t4
означает, что в каждом мире, доступном
за 2 шага из t4,
истинна формула р. Значит, р будет
истинной для всех х, удовлетворяющих
формуле:
y(R(t4, y) & R(x, y)).
Аналогично
р
будет означать истинность р для таких
х, что R(t6,
x). Формула q верна для всех таких х, что
х = t2.
Таким образом, если мы сделаем p и q
верными только в тех мирах, которые
строятся по строго позитивным формулам,
то А будет верным в мире t.
Эта интерпретация h называется ленивой. Она определяется с помощью формул языка первого порядка:
Мы делаем р истинным в мирах х тогда и только тогда, когда формула:
p*(x) = y(R(t4, y) & R(y, x)) R(t6, x)
истинна в шкале. А q истинна в x, если и только если x = t2. Значит, q*(x) = (x = t2).
Преобразуем далее формулу A*(t):
-
перемещаем кванторы ti в начало формулы;
-
заменяем р*(х) нашим ленивым выражением y(R(t4, y) & R(y, x)) R(t6, x);
-
заменяем р*(y) на формулу z(R(t4, z) & R(z, y)) R(t6, y);
-
аналогично для подформул р*(z), р*(t), р*(t4) и т.д.;
-
заменяем все q*(х) на x = t2, q*(y) на y = t2 и т.д.;
-
вместо (
…
р)* подставляем 1.
Полученную в результате формулу обозначим: (t). Эквивалентны следующие свойства:
-
(W, R, h), t |= A для некоторых t W и h;
-
(W, R, h), t |= A для некоторых t W и t1, …, t6;
-
(W, R), t |= (t) для некоторого t W (в смысле классической логики).
В этом случае формула А будет тавтологией относительно шкалы (W, R) тогда и только тогда, когда (W, R) |= t(t). Мы построили алгоритм, который каждой формуле А сопоставляет формулу (t), которой должна удовлетворять шкала (W, R).
Опишем шаги алгоритма Салквиста, сопоставляющего формуле А формулу t(t) для шкалы (W, R), относительно которой формула А будет тавтологией.
Будем предполагать, что А – формула Салквиста. Например, в случае
А
= (р
р) = ([
р]
& [р])
на входе будет формула
([р]
& [р]), а на выходе
– формула x R(x, x).