
- •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
Пример 6
По заданной
формуле ([p]
& [
q]
& [(
p
q)] найдём свойство
шкал (W, R), относительно которых эта
формула является тавтологией. Положим:
А = [p]
& [
q]
& [(
p
q)];
(t) = t1t2t3R(t,
t1) & R(t1, t2) &
p*(t2)
& R(t, t3) &
q*(t3)
& ((
p*(t)
q*(t))).
Из условий истинности:
p*(t2)
= x(R(t2, x)
p*(x)),
q*(t3)
= x(R(t3,
x)
q*(x)),
найдём ленивые определения:
p*(x) = R(t2, x); q*(x) = R(t3, x).
Подставляя их в (t)
и учитывая, что
p*(t2)
= 1 и ,
q*(t3)
= 1, получим:
(t) = t1t2t3R(t, t1) & R(t1, t2) & R(t, t3) & (x(R(t, x) R(t2, x)) R(t3, x)).
Утверждение (W, R) |= t(t) приводит к формуле 1-го порядка:
tt1t2t3(R(t, t1) R(t1, t2) R(t, t3) x(R(t, x) R(t2, x)) R(t3, x).
Упражнения
Найти свойства шкал Крипке, соответствующих формулам:
-
А А (Ответ: u(wRu));
-
А
А (Ответ: wRu & wRu vRu);
-
А
А (Ответ: wRv & wRu v = u);
-
А
А (Ответ: wRv u(wRu & uRv));
-
А
А (Ответ: wRv & wRx u(vRu & xRu)).
6.5. Темпоральная логика
Для темпоральной
логики вместо символа
используются символы [F] – «будет» и [P]
– «было». Аналогично символу
определяются символы <F> = [F]
и
<Р> = [Р].
Модель Крипке M = (W, R, h) была определена
как граф вместе с оценкой h : P
P(W). Напомним, что истинность формул [F]A
и [P]A устанавливается с помощью выражений:
M, t |= [F]A, если и только если M, u |= A для всех u W, таких, что R(t, u);
Система Гильберта для темпоральной логики
Формальная теория Kt состоит из следующих аксиом и правил вывода.
Аксиомы
-
Формулы D(B1, … Bn), где D(p1, …, pn) – пропозициональные тавтологии.
-
[F](A B) ([F]A [F]B); [P](A B) ([P]A [P]B) (нормальность).
-
[F]A [F][F]A (транзитивность).
-
A [F]<P>A; A [P]<F>A (отражение).
Правила вывода
;
.
Здесь А, В, В1, …, Вn – темпоральные формулы, возможно, содержащие [F] и [P].
Исходя из того, что для любой интерпретации с помощью шкалы Крипке формулы A [F]<P>A и A [P]<F>A будут тавтологиями, легко доказать следующую теорему корректности и полноты:
Теорема 1.
Для любой темпоральной формулы А
утверждение KtA
верно, если и только если А – тавтология
относительно каждой шкалы Крипке (W, R),
имеющей транзитивное отношение R. Здесь
Kt
,означает, что А – теорема в формальной
теории Kt.
Потоки времени
В темпоральной логике используются нерефлексивные транзитивные шкалы Крипке.
Шкала Крипке (W, <) называется потоком времени, если
-
x W ((x < x)),
-
x, y, z W (x < y & y < z x < z).
Если t < v, то v называется будущим для t, а t – прошлым для v.
Теорема 2.
Для любой темпоральной формулы А
утверждение KtA
верно, если и только если А – тавтология
относительно всех потоков времени.
Линейные потоки времени
Чтобы ограничить виды потоков времени, к системе Kt добавляются аксиомы. Аксиомы <F>1 и <P>1 означают отсутствие наименьшего и наибольшего t W.
Истинность аксиомы [F][F]A [F]A равносильна свойству плотности отношения доступности:
tu (t < u v(t < v <u)).
Например, Q и R – плотные линейно упорядоченные множества, а Z – нет.
Для того чтобы потоки времени были линейно упорядочены, т.е. удовлетворяли условию:
tu (t < u t = u u < t),
добавляется аксиома
<F>A&<F>B <F>(A&B)<F>(A&<F>B)(B&<F>A)
(или её зеркальное отображение).
В случае шкалы (Z, <) добавляются аксиомы:
[F]([F]A A) (<F>[F]A [F]A),
[P]([P]A A) (<P>[P]A [P]A).
Для шкалы (N, <) добавляются аксиомы:
[F]([F]A A) (<F>[F]A [F]A),
[P]([P]A A) [P]A.
Для (R, <) добавляются аксиомы, обеспечивающие плотность отношения порядка и отсутствие максимального и минимального элементов. Добавляется аксиома Прайера:
<F>[F] <F>A <F>)[F]A& <P>[F]A).