УДК 510.52, 510.643 Дата подачи статьи: 06.10.16
DOI: 10.15827/0236-235X.114.135-142 2016. Т. 29. № 4. С. 135-142
АЛГОРИТМИЧЕСКАЯ ВЫРАЗИТЕЛЬНОСТЬ НЕКОТОРЫХ ФРАГМЕНТОВ ЯЗЫКА ЛОГИКИ ВЕТВЯЩЕГОСЯ ВРЕМЕНИ
А.В. Духовнева, тренер-консультант, kMgusheva_nastya@1ist.ru (Школа скорочтения и развития интеллекта IQ007, Тверской просп., 2, г. Тверь, 1 70100, Россия); М.Н. Рыбаков, к.ф.-м..н., доцент, инженер-программист, научный сотрудник,
m_rybakov@mail. ru
(Тверской государственный университет, ул. Желябова, 33, г. Тверь, 1 70100, Россия; НИИ «Центрпрограммсистем», просп. 50 лет Октября, 3а, г. Тверь, 1 70024, Россия; Университет Витвотерсранда, просп. Яна Смэтса, 1, г. Йоханнесбург, 2001, ЮАР);
Д.П. Шкатов, к.ф.н., доктор наук, доцент, shkatov@gmail.com (Университет Витвотерсранда, просп. Яна Смэтса, 1, г. Йоханнесбург, 2001, ЮАР)
В работе рассматривается логика ветвящегося времени СТЬ и изучается вопрос о сложности проблемы ее разрешения в языке с конечным числом переменных. Приведен полиномиальный алгоритм, решающий задачу принадлежности формул константному фрагменту СТЬ. Приведен полиномиальный алгоритм, который погружает фрагмент СТЬ в языке с модальностями АХ, ЕХ, Ав и ЕЕ во фрагмент СТЬ от одной переменной. Известно, что проблема разрешения фрагмента СТЬ в языке с модальностями АХ, ЕХ, Ав и ЕЕ является ЕХРИМЕ-полной, в частности, не является полиномиально разрешимой. В результате с помощью построенного погружения доказано, что фрагменты СТЬ от одной и более переменных не являются полиномиально разрешимыми, то есть проблема разрешения фрагмента СТЬ от одной переменной является ЕХРИМЕ-полной. В заключение обсуждаются близкие вопросы, в частности, приводятся примеры других фрагментов логики СТЬ, имеющих более простую проблему разрешения, чем проблема разрешения СТЬ.
Ключевые слова: пропозициональные логики, неклассические логики, темпоральные логики, логика ветвящегося времени, проблема разрешения, вычислительная сложность.
Для описания различных свойств сложных систем и для их последующей верификации требуются формальные языки, предполагающие четкость и однозначность формулировок. Широко используемый в математике язык логики предикатов (см., например, [1]) во многих случаях позволяет создавать подобные описания, но в силу теоремы Чёрча-Тьюринга проблемы тождественной истинности, тождественной ложности и выполнимости формул этого языка алгоритмически неразрешимы (см., например, [2]). Это создает существенное препятствие в его использовании для решения соответствующих задач с применением вычислительной техники.
На данный момент уже созданы, изучены и используются различные классы формальных языков, логик и теорий, которые, с одной стороны, позволяют описывать свойства сложных систем, структур, вычислений и т.п., при этом, с другой стороны, многие важные проблемы для них алгоритмически разрешимы.
В данной работе речь пойдет об одном из таких языков - языке логики ветвящегося времени, которая известна в англоязычной литературе как computational tree logic и обычно обозначается CTL. Эта логика возникла относительно давно, и сейчас изучены многие ее свойства - алгоритмические, синтаксические, семантические и др.
Особенность языка CTL в том, что, во-первых, вычисления понимаются как пути, образованные состояниями, в которых последовательно оказывается система при выполнении некоторой про-
граммы, а во-вторых, в языке эти состояния не указываются явно: для указания на них используются так называемые темпоральные (временные) модальности типа «в каждом пути когда-нибудь будет, что...», «существует путь, в котором всегда верно, что.» и т.п. Использование подобных средств позволяет описывать различные свойства программных вычислений, в том числе параллельных, что вместе с разрешимостью проблемы выполнимости СТЬ-формул делает СТЬ эффективным инструментом как для создания таких описаний, так и для верификации программ (см., например, [3, 4]).
Однако за богатые возможности приходится платить. Но если в случае классической логики предикатов имеет место неразрешимость проблемы выполнимости, то в случае СТЬ - только высокая степень сложности проблемы разрешения [5, 6]. Известно, что проблема разрешения для СТЬ является ЕХРТ1МЕ-полной. Это означает, что, во-первых, существует алгоритм, решающий проблему выполнимости СТЬ-формул за экспоненциальное время от длины тестируемой формулы [7], а во-вторых, любой детерминированный алгоритм, решающий эту проблему, для некоторых формул будет затрачивать время, ограниченное снизу экс-понентой от длины этих формул [8]. Другими словами, в классе детерминированных алгоритмов самыми быстрыми решающими проблему выполнимости СТЬ-формул являются экспоненциальные, и понизить эту оценку, например, до полиномиальной, невозможно.
Нечто похожее справедливо для всех логик, содержащих в себе классическую логику высказываний CL (classical logic): проблема выполнимости CL-формул является NP-полной, и в предположении, что P Ф NP, она тоже не решается быстрее, чем экспоненциально. Поскольку, как правило, известные логики содержат в себе CL в качестве естественного фрагмента, проблема их разрешения не может быть ниже.
Тем не менее CL содержит довольно выразительные фрагменты, которые полиномиально разрешимы. Например, полиномиально разрешима проблема выполнимости CL-формул, находящихся в совершенной дизъюнктивной или совершенной конъюнктивной нормальной форме (СДНФ, СКНФ): для выполнимости формулы в СДНФ достаточно, чтобы она содержала хотя бы один дизъюнктивный член, а для выполнимости формулы в СКНФ достаточно, чтобы число попарно различных конъюнктивных членов в ней было меньше чем 2 й, где n - число переменных, входящих в эту формулу.
Другой пример - это любой фрагмент CL, состоящий из формул, построенных из переменных, входящих в некоторое фиксированное конечное множество. Действительно, если имеется всего одна переменная, то достаточно проверять истинность формул на двух наборах истинностных значений для нее, если имеются две переменные - на четырех наборах, если три - на восьми наборах и т.д. При этом каждый раз число таких наборов будет фиксированным, следовательно, проблема выполнимости формул из соответствующего фрагмента требует для ее решения лишь полиномиальных (не более чем квадратичных) затрат времени.
Пусть L - некоторая логика, n - неотрицательное целое число. Через L(n) обозначим фрагмент логики L, состоящий из формул от фиксированных n переменных. В частности, L(0) - константный фрагмент L. Тогда, согласно сказанному выше, для всякого целого неотрицательного n фрагмент CL(n) полиномиально разрешим. Можно ли утверждать то же самое о CTL(n)? Ответу на этот вопрос, а также его обоснованию и посвящена данная работа.
Ниже будет показано, что фрагмент CTL(0) действительно полиномиально разрешим, и будет приведен соответствующий разрешающий алгоритм. Что касается фрагментов CTL(n) при n > 0, то здесь ситуация иная. Для некоторых модальных логик доказано, что проблема разрешения их фрагментов от конечного числа переменных является столь же сложной, как и проблема разрешения для логики в целом [9-13]; аналогичные результаты справедливы и для некоторых других неклассических логик [14, 15]. Покажем, что техника, изложенная в [13, 16], применима к CTL, доказав с ее помощью, что при любом n > 0 фрагмент CTL(n) является EXPTIME-полным.
Синтаксис и семантика CTL
Будем считать, что формулы строятся из констант 1 (ложь) и Т (истина), а также счетного множества пропозициональных переменных с помощью связок Л (конъюнкция), V (дизъюнкция), ^ (импликация), — (отрицание), ^ (эквивалентность) и модальностей АХ, EX, AF, EF, AG, EG, AU, EU. При этом первые шесть модальностей являются одноместными и позволяют из формулы <р получать формулы АХ(р, ЕХ(р, AFy, EFy, AG(p и EG<p, а последние две являются двухместными и позволяют из формул ^ и ^ получать формулы (pAU^) и (фЕи*ф). Каждая из этих модальностей состоит из двух частей: первая - это А или E, а вторая - это X, F, G или U. Эти части являются самостоятельными модальностями в более общем языке - языке логики, известной как CTL*, но в CTL они используются только парами. Модальности А и Е называются кванторами пути и соответствуют выражениям «для каждого пути верно, что...» (А - от "all") и «существует такой путь, что.» (Е - от "exists"). Модальности X, F, G, U называются кванторами состояний. Эти буквы взяты из слов "next", "future", "globally", "until" и соответствуют выражениям «в следующем состоянии данного пути...», «в некотором состоянии данного пути.», «в каждом состоянии данного пути.» и «в состояниях данного пути справедливо., пока не станет справедливо.». Так, AFy означает, что «в каждом пути существует состояние, в котором верно <р», а формула (фЕи*ф) - что «существует путь, в состояниях которого верно <р, пока не станет верным
Такое описание смысла CTL-формул можно назвать интуитивно понятным, но все же оно не является точным. Чтобы сделать его точным, будем использовать семантику С. Крипке.
Шкала Крипке - это набор Т = (W, R), где W -непустое множество, элементы которого будем называть состояниями, а R - серийное бинарное отношение на W, называемое отношением достижимости (серийность означает, что для любого состояния х е W существует такое состояние у е W, что xRy). Если выполнено условие xRy, то говорим, что из х достижимо у.
Путем п в шкале Т = (W, R) будем называть бесконечную последовательность по, ш, П2, ш, . состояний (необязательно различных), в которой для каждого к выполнено отношение nkRnk+i; при этом по будем называть началом пути п. Заметим, что в силу серийности отношения R каждое состояние является началом хотя бы одного пути.
Оценкой в шкале Т = (W, R) будем называть функцию v, которая каждой пропозициональной переменной р сопоставляет некоторое подмножество v(p) множества W. Содержательно условие х е v(p) означает, что переменная р истинна в состоянии х.
Модель Крипке - это набор М = (W, R, v), где (W, R) - шкала Крипке, а v - оценка в этой шкале.
Определим отношение истинности CTL-фор-мул в состояниях модели М = (W, R, v). Тот факт, что формула <р истинна в состоянии х модели М, будем обозначать как М, х И ф. Определение дадим обычным образом:
- М, х>ф 1;
- М, хИ Т;
- М, х И р, если х е v(p);
- М, х И ф А ф, если М, х И ф и М, хИ
- М, х И ^ V ф, если М, х И ^ или М, х И
- М, х И ^ ^ ф, если М, х ^ ^ или М, х И
- М, х И если М, х ^
- М, х И « ф, если М, х И ^ тогда и только тогда, когда М, х И ф;
- М, х И ЛХ^, если для каждого пути л:, начинающегося в х, верно, что М, n:i И
- М, х И ^F^, если в каждом пути л:, начинающемся в х, существует такое состояние т, что М, та И
- М, х И AGty, если в каждом пути п, начинающемся в х, для каждого состояния Пк верно, что
М, Хк И ф;
- М, х И фАи*ф, если в каждом пути п, начинающемся в х, существует состояние ш, для которого М, Пк И 'ф, при этом для каждого т, строго меньшего к, верно, что М, пт И <р;
- М, х И ЕХ<р, если существует такой начинающийся в х путь п, что М, ni И <р;
- М, х И EFy, если существует такой начинающийся в X путь П, для некоторого состояния Пк которого верно, что М, Пк И ф;
- М, х И EGy, если существует такой начинающийся в X путь п, для каждого состояния Пк которого верно, что М, Пк И ф;
- М, х И фЕи^, если в некотором начинающемся в х пути п существует состояние ш, для которого М, Пк И , при этом для каждого т, строго меньшего к, верно, что М, пт И (р.
Формула <р считается истинной в модели, если <р истинна в каждом состоянии этой модели. Формула <р считается истинной в шкале, если <р истинна в каждой модели, определенной на этой шкале.
Под CTL понимаем множество всех CTL-фор-мул, истинных в каждой шкале Крипке.
Разрешающая процедура для константного фрагмента CTL
Опишем несложную синтаксическую процедуру, которая по произвольной константной CTL-формуле дает ответ на вопрос о принадлежности этой формулы логике CTL.
Заметим, что, во-первых, каждая безмодальная константная формула, согласно законам классической логики высказываний (или попросту табли-
цам истинности для булевых связок), эквивалентна в CTL либо константе 1, либо константе Т. Во-вторых, формулы АХ1, ЕХ1, AFI, EF1, AG1 и EG1 эквивалентны в CTL формуле 1, а формулы АХТ, ЕХТ, AFT, EFT, AGT и EGT - формуле Т. В-третьих, в CTL справедливы следующие эквивалентности:
(1AU1) ~ 1; (LAUT) ~ Т;
(TAUl) ~ 1; (TAUT) ~ Т;
(1EUl) ~ 1; (1EUT) ~ Т;
(TEUl) ~ 1; (TEUT) ~ Т.
Принимая во внимание сказанное, а также то, что для CTL справедлива теорема о замене эквивалентных, получаем следующую процедуру, преобразующую любую константную CTL-формулу либо к формуле 1, либо к формуле Т:
- находим самое внутреннее вхождение логической связки или модальности;
- если его нет, останавливаемся;
- иначе заменяем подформулу, содержащую только это вхождение, на 1 или Т в соответствии с эквивалентностями, описанными выше;
- возвращаемся к первому действию.
Эта процедура решает задачу принадлежности константых формул логике CTL: если в результате ее применения получается Т, то исходная формула принадлежит CTL, если получается 1, то не принадлежит.
Заметим, что описанные в процедуре действия придется выполнить столько раз, сколько логических связок и модальностей содержит исходная константная формула. Следовательно, приведенная процедура имеет полиномиальную (не более чем квадратичную) временную сложность.
Предварительная техническая конструкция
Для доказательства того, что аналогичной процедуры не существует для CTL(n) при n > 0, проведем небольшую техническую подготовку.
Зафиксируем переменную р. Определим следующие формулы, зависящие от р:
Si = EXAGp, Sk+t = ЕХ(р А ЕХ(—р А &));
ак = р А ЕХ(—р А SkA Sk+i А EFAG—p); ßk = ЕХак.
Содержательно Si утверждает, что на следующем шаге вычисления переменная установится истинной, после чего ее истинность сохраняется навсегда. Формула 82 утверждает, что, сделав шаг вычисления, получим р, еще через шаг —р, после чего будет Si. В целом & выражает следующее условие: к раз чередуются пары состояний, где сначала истинно р, потом — р, и после этого возникает состояние, где истинно Si.
Условие, определяемое формулой ак, сложнее. Но в данном случае нет необходимости описывать его полностью: достаточно будет установить, что в
некотором классе моделей для каждой формулы ак существует ровно одна модель, ровно в одном из состояний которой ак истинна.
Определим такой класс моделей.
Для этого рассмотрим шкалу Крипке, образованную двумя путями а и т, имеющими два общих состояния г и а, где г = ао = то и а = аг = п, при этом все остальные состояния в а и т попарно различны. Обозначим эту шкалу Т2с (рис. 1).
Для каждого целого к > 0 определим оценку та в шкале Т2с: сделаем переменную р истинной в состояниях то, Т2, Т4, ..., Т2к-2 и в каждом состоянии Тш при т > 2к. В результате получим модель Мк = (Т2с, Рк) (рис. 2).
Лемма 1. Мк, х И ат ^ к = т и х = г.
Доказательство. Пусть Мк, х И ат. Тогда в состоянии х истинны переменная р и формула ЕХ(—р А 5к А —5к+г А ЕРАС—р). Из истинности в х формулы ЕХ(—р А 5к А —5к+г А ЕРАС—р) следует, что из х выходит путь п, в состоянии пг которого истинны —р А 5т А —5т+1 и ЕЕАС—р. Заметим, что формула ЕЕАС—р истинна только в состояниях пути а. Формула —р А 8т А —5т+г истинна только в состоянии Т2(к-т)+г (при условии, что к > т). Из сказанного заключаем, что для пг имеется лишь одна возможность: пг = аг = тг = а. Это, в частности, означает, что 2 (к - т) + 1 = 1. Но тогда к = т и х = по = То = г.
Пусть теперь к = т и х = г. Тогда получаем, что Мк, а И 5к А —5к+г. Кроме того, Мк, а И —р. Значит, Мк, а И —р А 5к А —5к+г. В каждом состоянии пути а истинна формула ЕЕАС—р, следовательно, Мк, а И ЕЕАС—р. Значит, в а истинна формула —р А 5к А —5к+г А ЕЕАС—р, и следовательно, Мк, г И ЕХ(—р А 5к А —5к+г А ЕЕАС—р). Наконец,
учитывая, что Мк, г И р, получаем, что Мк, г И рА ЕХ(—р А 5кА —5к+г А ЕЕАС—р), то есть Мк, г И ак.
Лемма доказана.
Эта лемма нужна для реализации следующей идеи. Предположим, что имеется состояние 5, в котором истинны переменные рг, рэ, рв и ложны переменные р2, р4, рв. Для простоты будем считать, что из 5 достижимо только само состояние 5. Теперь вместо переменных рг, ..., рв возьмем формулы Рг, ..., Рв. Конечно же, эти формулы будут ложны в 5. Но, если сделать достижимыми из 5 корни моделей Мг, Мэ, Мб, то Рг, Рэ, Рв будут истинны в 5, а Р2, Р4, Рв останутся ложными. В результате становится возможным моделировать переменную рк формулой Рк, используя модель Мк вместо оценки для рк.
Теперь кажется разумным в произвольной формуле подставить вместо каждой переменной рк формулу Рк и получить желаемое погружение СТЬ в СТЬ(1). Однако такая подстановка не дает требуемого, так как некоторые формулы, не принадлежащие СТЬ, будут преобразованы в формулы, принадлежащие СТЬ: например, формула ЕЕ—рг не принадлежит СТЬ, но ее подстановочный пример ЕЕ—Рг логике СТЬ принадлежит. Покажем, как обойти указанную трудность.
Модификация С^-формул
Прежде чем выполнить подстановку Рк вместо рк, модифицируем СТЬ-формулы. Заметим, что для доказательства ЕХРТ1МЕ-трудности проблемы разрешения СТЬ достаточно использовать только модальности АХ, ЕХ, АС и ЕЕ. Это следует из идеи,
(72 (7з (74 (75
(7 [ (7 (+1 (7[+2 (7 (+3
Т4 Т5 Т [
Рис. 1. Шкала Т2с Fig. 1. Frame Т2С
Ti+i Ti+2 Ti+3
(-1 p)-M-iPJ—H-iP)-P)
PJ-^PJ
r = то a
P^
T2
JL
T4
T2k
PJ-XyP^
T2k+1 T2k+2
Puc. 2. Модель Mk Fig. 2. Model Mk
изложенной в [8], где доказывается EXPTIME-трудность другой логики - PDL (propositional dynamic logic), причем для доказательства оказалось достаточно использовать лишь модальности, соответствующие модальностям АХ, EX, AG и EF (непринципиальное отличие состоит в том, что в шкалах для PDL не требуется серийность, но она допускается). Итак, пусть дана формула ф, зависящая от п переменных pi, ..., рп и не содержащая модальностей, отличных от АХ, EX, AG и EF. Возьмем новую переменную pn+i. Пусть f - преобразование, определенное следующим образом: f(1) = 1; f(T) = Т; f(pk) = рк; f(cpiА ф2) = f(cpi) А /О2); f(<pi V ф2) = f(<pi) V Г(ф2);
f(<pi ^ ф2) = f{(pi) ^ Цф2); f{yi ~ ф2) = f{(pi) ~ /(^2); f(—(pi) = —f((pi); f(AXyi) = AX(pn+i ^ f(yi)); f(EX<pi) = EX(pn+i А f((pi)); f(AG(pi) = AG(pn+i ^ f((fii)); f(EFpi) = EF(pn+i А f(tpi)). Другими словами, f превращает модальности AX, EX, AG и EF в ограниченные модальности, при этом роль «ограничителя» играет переменная pn+i. Наконец, определим преобразование д: д(<р) = (pn+i АAG(pn+i^ EXpn+i)) ^ f(<p). Формула д(ф) и будет той формулой, вместо переменных которой будем подставлять определенные выше формулы от одной переменной. Лемма 2. Если <р е CTL, то д(<р) е CTL. Доказательство. Пусть <р е CTL. Предположим, что д(ф) <£ CTL. Тогда существует модель М = (W, R, v), в некотором состоянии s которой опровергается формула д(ф). Это означает, что М, БИ pn+i А AG(pn+i ^ EXp-n+i) и М, s¥ f(cp).
Пусть М' = (W' , R', v'), где W' состоит из тех состояний множества W, которые достижимы за сколько-нибудь шагов из s и в которых переменная pn+i истинна, R' - ограничение отношения R на W', а v' - ограничение оценки v на W', то есть v'(pk) = v(pk) П W'. Тогда М' - модель Крипке: действительно, W' Ф 0, так как М, s И pn+i, а серийность отношения R' обеспечивается тем, что М, s И AG(pn+i ^ EXpn+i).
Индукцией по построению подформулы ф формул^! <р покажем, что для всякого состояния х е W' выполняется следующая эквивалентность: М', хИ ф ^ М, хИ f(ip). Базис индукции (то есть когда *ф = 1, *ф = Т или ■ф = рк) выполняется по определению оценки v'. Обоснуем индукционный шаг.
Пусть доказываемое утверждение верно для формул Ф1 и ф2 и пусть х е W.
Если ф = гр1 А *ф2, то имеем следующую цепочку эквивалентностей:
М', хИ гр ^
^ М', хИ А ^2 ^
^ М', хИ -ф1 и М', хИ ^2 ^
^ М, ХИ f(ipi) и М, ХИ f(ip2) ^
^ М, ХИ f(ipi) А f(ip2) ^
^ М, ХИ f(ip).
Обоснование тех случаев, когда *ф = *ф1 V ^2, ^ = ^ ^2, ^ = -i^i или ^ = ^ ^2, выполняется аналогично.
Пусть теперь ^ = EX^i.
Если М', х И то в М' существует начинающийся в х путь п, для которого М', ni И гр1. По индукционному предположению для получаем, что М, m И f(^i). Кроме того, ni е W', а значит, М, m И pn+i. Таким образом, М, m И pn+i А f(^i), следовательно, М, по И EX(pn+i А f(pi)), то есть М, хИ f(\p).
Если М, х И [(ф), то в М существует путь л с началом в х, для которого М, m И pn+i А f(ipi). Поскольку М, ni И pn+i, получаем, что ni е W'. Значит, можем применить индукционное предположение и сделать вывод, что М', ni И гр1. Возьмем произвольный путь е в модели М', для которого £о = х = по и £i = т. Тогда М', £1 И ^1, а значит, М', £о И EX^i, то есть М', хИгр.
В тех случаях, когда ^ = EF^i, ^ = AX^i или ■ф = AG^i, обоснование в^1полняется аналогично.
С учетом того, что s е W' и М, s ¥ f(<p), из доказанного получаем, что М', s ¥ <р. Но тогда <р <£ CTL, а это противоречит выбору (р. Значит, сделанное в начале доказательства предположение о том, что д(ф) <£ CTL, неверно, следовательно, д(ср) е CTL.
Лемма доказана.
Заметим, что в модели М , определенной в доказательстве леммы 2, v'(pn+i) = W'. Оформим это наблюдение в виде следствия.
Следствие 1. Если g (ф) <£ CTL, то существует модель, в которой опровергается д(<р) и при этом переменная pn+i истинна в каждом состоянии этой модели.
Лемма 3. Если д(ф) е CTL, то <р е CTL.
Доказательство. Пусть д(ф) е CTL. Пусть h -функция, заменяющая в формулах pn+i на Т. Тогда h(g(<p)) = (Т А AG(T ^ EXT)) ^ h(f(cp)). Логика CTL замкнута относительно операции подстановки формул вместо переменных, следовательно, h(g(<p)) е CTL. Несложно убедиться, что формула Т А АС(Т ^ ЕХТ) истинна во всех шкалах логики CTL, а значит, то же верно и для h(f(p)). Следовательно, h(f(p)) е CTL.
Заметим, что pn+i входит в f((p) только внутри подформул, имеющих вид pn+i ^ 'ф или pn+i А ^. После применения преобразования h эти подформулы будут иметь вид Т ^ h(^) и Т А h(^). Каждая из формул Т ^ h(^) и Т А h(ty) эквивалентна в CTL формуле h(p). Если ^ содержит pn+i, то h заменит pn+i на Т и, как было показано, получившиеся вхождения Т можно будет «удалить». Если же pn+i не входит в 'ф, то h не внесет в 'ф изменений.
Таким образом, подстановка Т вместо рп+г в [(ф) равнозначна тому, что рп+г «удаляется» из [(ф), то есть формула Ь(/(ф)) эквивалентна в СТЬ исходной формуле ф. Но Ь(/(ф)) е СТЬ, а значит, Ф е СТЪ.
Лемма доказана.
Погружение CTL во фрагмент CTL от одной переменной
Необходимые предварительные построения завершены, и теперь можно определить функцию, погружающую фрагмент СТЬ с модальностями АХ, ЕХ, Ав и ЕЕ во фрагмент СТЬ от одной переменной. Для произвольной СТЬ-формулы 'ф, зависящей от рг, ..., рп+г, определим £(^) как результат подстановки в ^ формул Рг, ., рп+г вместо переменных рг, ..., рп+г соответственно.
Теорема. ф е CTL ^ ^(д(ф)) е CTL.
Доказательство. Пусть ф е СТЬ. Тогда, согласно лемме 2, д(ф) е СТЬ. Поскольку Ь(д(ф)) является результатом подстановки формул в д(ф), получаем, что ¡(д(ф)) е CTL.
Пусть Ь(д(ф)) е СТЬ. Предположим, ф £ СТЪ. Тогда из леммы 3 следует, что д(ф) £ СТЬ. По следствию 1, существует модель М = {Ш, И, у), в некотором состоянии 5 которой опровергается д(ф) и при этом у(рп+г) = №.
Расширим М до модели М* = {Ш*, Я*, V*) следующим образом. Возьмем по одной копии каждой из моделей Мг, ..., Мп+г и добавим их к М*. Если в состоянии х исходной модели М истинна переменная рк, то в модели М* делаем достижимым из х корень модели Мк. При этом оценку для р сохраняем в состояниях моделей Мг, ..., Мп+г, а в состояниях модели М полагаем р ложной.
Покажем, что в этом случае для всякого х е Ш и для всякой подформулы 'ф формулы ф выполняется следующая эквивалентность:
М, х И /(тф) ^ М*, х И Ь(/(тф)).
Доказательство проведем индукцией по построению
Если ^ = 1, то Ь(/(ф)) = 1(1) = 1; если ^ = Т, то ¡(/(-ф)) = ¡(Т) = Т. В обоих случаях требуемая эквивалентность тривиально выполняется.
Если ^ = рк, то [(гр) = рк, следовательно, Ь(/(ф)) = фк) = Рк = ЕХак. Если М, хИ [(ф), то по построению модели М* из состояния х достижим корень модели Мк, и тогда М*, х И ЕХак (в силу леммы 1), то есть М*, х И Ь(/(ф)). Пусть теперь М*, х И Ь(/(ф)), то есть М*, х И ЕХак. Это возможно, только если из х достижимо состояние у, где истинна формула ак. Но ак содержит конъюнктивный член р, а значит, в у истинна переменная р, и следовательно, у £ Ш. Но тогда у - это состояние одной из моделей Мг, ..., Мп+г, и по лемме 1 это корень модели Мк. По построению М* корень модели Мк может быть достижим из х,
только если М, х И рк. Поскольку [(ф) = Рк, получаем, что М, х И [(ф).
Пусть доказываемое утверждение верно для формул ^г и ^2. Пусть также х е Ш.
Если гр = 'фг А *ф2, то имеем следующую цепочку эквивалентностей:
М, хИ /(ф) ^
^ М, хИ /(фг) А /(тф2) ^
^ М, хИ [(фг) и М, хИ [(ф2) ^
^ М*, х И фОфг)) и М*, х И Ь(/(тф2)) ^
^ М*, ХИ Ь(/(тфг)) А Ь(/(тф2)) ^
^ М*, х И £(/(^)).
Обоснование тех случаев, когда 'ф = 'фг V ^2, ^ = ^г ^ ^2, ^ = —'фг или ^ = ^г ^ ^2, выполняется аналогично.
Пусть теперь 'ф = ЕЕфг. Тогда получаем, что [(ф) = ЕЕ(рп+г А грг) и, согласно определению С,
«¿т = ЕЕ(рп+г а ссг(^г))).
Если М, х И [(ф), то в М существует начинающийся в х путь п, в некотором состоянии пт которого истинна формула рп+г А [(фг). По построению модели М* получаем, что М*, пт И рп+г, а по индукционному предположению для формулы 'фг -что М*, лт И С(/(^г)). Значит, в состоянии по истинна формула ЕЕ(рп+г А ¡(/(фг))), то есть М*, х И ь(/(хр)).
Если М*, х И Ь(/(тф)), то в М* существует начинающийся в х путь п, в некотором состоянии Пт которого истинна формула рп+г А ¡(/(фг)). Согласно построению модели М*, формула рп+г может быть истинной в М* только в состояниях из множества Ш. Значит, пт е Ш. Но тогда можно применить предположение индукции, а значит, М, Пт И [('фг). Учитывая, что в каждом состоянии модели М истинна переменная рп+г, получаем, что М, пт И рп+г А [('фг), откуда заключаем, что М, по И ЕЕ(рп+г А/(фг)), то есть М, хИ [(хр).
В тех случаях, когда ^ = ЕХ'фг, ^ = АХ'фг или 'ф = Ай'фг, обоснование выполняется аналогично.
С учетом того, что М, 5 ¥ д(ф), получаем, что М, 5 И рп+г А АС(рп+г ^ ЕХрп+г) и М, б ¥ [(ф). Из второго условия с учетом доказанного следует, что М*, б ¥ Ь(!(ф)). По построению модели М* получаем, что М, 5 И рп+г А АС(рп+г ^ ЕХрп+г). Следовательно, М*, б ¥ Ь(д(ф)), а это противоречит тому, что t(g(ф)) е СТЬ. Значит, предположение о том, что ф £ СТЬ, является неверным, и поэтому Ф е СТЪ.
Теорема доказана.
Сложность фрагментов CTL от одной и более переменных
Заметим, что формула 1(д(ф)) строится по ф полиномиально. Тогда доказанная теорема означает, что существует полиномиальное погружение ЕХРТ1МЕ-полного фрагмента логики СТЬ в ее фрагмент от одной переменной. Следовательно,
фрагмент СТЬ от одной переменной является ЕХТРТ1МЕ-трудным. В силу принадлежности СТЬ классу ЕХРТ1МЕ он также принадлежит ЕХРТ1МЕ. Значит, этот фрагмент является ЕХРТГМБ-полным.
Следствие 2. Фрагмент логики СТЬ, образованный формулами от одной переменной, является ЕХРТ1МЕ-полн ым.
На самом деле доказано более сильное утверждение.
Следствие 3. Фрагмент СТЬ, образованный формулами от одной переменной, построенными с помощью булевых связок и модальностей АХ, ЕХ, АС и ЕЕ, является ЕХРТГМЕ-яолньш.
Конечно же, оба результата останутся справедливыми, если использовать больше одной переменной: добавление переменных не понижает сложность задачи, при этом не может и повысить ее, так как проблема разрешения СТЬ находится в классе ЕХРТ1МЕ.
Таким образом, фактически доказано, что всего лишь одной переменной в языке логики СТЬ достаточно, чтобы проблема разрешения СТЬ оказалась «практически нерешаемой»: самые быстрые алгоритмы, решающие эту проблему, имеют экспоненциальную оценку снизу для времени их работы. Тем не менее, отметим, что для доказательства ЕХРТ1МЕ-трудности проблемы разрешения СТЬ были использованы специальные формулы; если же ограничиться, скажем, формулами, содержащими только АХ и ЕХ или только АС и ЕЕ, то получим PSPACE-полные фрагменты СТЬ, эквивалентные известным модальным логикам D и S4 соответственно. С помощью описанного метода логики D и S4 также погружаются в собственные фрагменты от одной переменной [10, 11], но обратим внимание на другое. Несмотря на то, что проблема разрешения СТЬ и даже, казалось бы, очень простых фрагментов СТЬ алгоритмически весьма трудна, СТЬ содержит довольно выразительные фрагменты, проблема разрешения которых ниже (например, принадлежит классу PSPACE, как в случае указанных фрагментов, эквивалентных D и S4), а иногда значительно ниже (например, принадлежит классу Р, как в случае константного фрагмента), чем для СТЬ в целом. На данный момент для многих неклассических пропозициональных
логик найдены и описаны некоторые их нетривиальные фрагменты, имеющие относительно невысокую степень сложности проблемы разрешения, и было бы интересно провести аналогичные исследования в отношении CTL, а также найти соответствующие алгоритмы.
Работа выполнена при поддержке РФФИ, гранты №№ 14-06-00298 и 16-07-01272.
Литература
1. Мендельсон Э. Введение в математическую логику. М.: Наука, 1976, 320 с.
2. Булос Дж., Джеффри Р. Вычислимость и логика. М.: Мир, 1994. 396 с.
3. Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: Model checking. М.: Изд-во МЦНМО, 2002. 416 с.
4. Карпов Ю.Г. Model checking: Верификация параллельных и распределенных программных систем. СПб: БХВ-Петер-бург, 2010. 560 с.
5. Johnson D.S. Catalogue of complexity classes. J. van Leeuwen, ed., Handbook of Theoretical Computer Science, MIT Press, 1994, vol. A, pp. 67-162.
6. Papadimitriou C. Computational complexity. Addison-Wesley, 1994, 540 p.
7. Emerson E.A., Halpern J.Y. Decision procedures and expressiveness in the temporal logic of branching time. Jour. of Comp. and Syst. Sciences, 1985, vol. 30, no. 1, pp. 1-24.
8. Fisher M.J., Ladner R.E. Propositional Dynamic Logic of Regular Programs. Jour. of Comp. and Syst. Sc., 1979, vol. 18, pp. 194-211.
9. Spaan E. Complexity of modal logics. PhD Thesis. Univ. of Amsterdam, 1993, 130 p.
10. Halpern J.Y. The effect of bounding the number of primitive propositions and the depth of nesting on the complexity of modal logic. Artificial Intelligence, 1995, vol. 75, no. 2, pp. 361-372.
11. Chagrov A.V., Rybakov M.N. How many variables one needs to prove PSPACE-hardness of modal logics? Advances in Modal Logic, London, King's College Publ., 2003, vol. 4, pp. 71-82.
12. Svejdar V. The decision problem of provability logic with only one atom. Arch. Math. Logic, 2003, pp. 1-6.
13. Рыбаков М.Н. Сложность константного фрагмента пропозициональной динамической логики // Вестн. Тверского гос. ун-та. Сер.: Прикладная математика. 2007. Вып. 5. № 11 (39). С. 5-17.
14. Rybakov M.N. Complexity of intuitionistic propositional logic and its fragments. Jour. of Applied Non-Classical Logics, 2008, vol. 18, no. 2-3, pp. 267-292.
15. Rybakov M.N. Complexity of intuitionistic and Visser's basic and formal logic in finitely many variables. Advances in Modal Logic, London, King's College Publ., 2006, vol. 6, pp. 393-411.
16. Rybakov M.N. Complexity of finite-variable fragments of EXPTIME-complete logics. Jour. of Applied Non-Classical Logics, 2007, vol. 17, no. 3, pp. 359-382.
Software & Systems Received 06.10.16
DOI: 10.15827/0236-235X.114.135-142 2016, vol. 29, no. 4, pp. 135-142
ALGORITHMICAL POWER OF SOME FRAGMENTS OF COMPUTATIONAL TREE LOGIC
A.V. Dukhovneva1, Trainer and Consultant, kugusheva_nastya@list.ru
M.N. Rybakov2, 3 4, Ph.D. (Physics and Mathematics), Associate Professor, Software Engineer, Research Fellow, m_rybakov@mail. ru
D.P. Shkatov4, Ph.D.(Philisophy) , Ph.D.(Theoretical Computer Science), Senior Lecturer, shkatov@gmail.com
1 School of Speed Reading and Development of Intellect IQ007, Tverskoy Ave. 2, Tver, 170100, Russian Federation
2 Tver State University, Zhelyabov St. 33, Tver, 170100, Russian Federation
3 R&D Institute Centerprogramsystem, 50 let Oktyabrya Ave. 3a, Tver, 170024, Russian Federation
4 University of the Witwatersrand, 1 Jan Smuts Ave, Braamfontein, Gauteng, 2001, South Africa, Johannesburg
Аbstract. In the paper we consider the Computational Tree Logic CTL and study computational complexity of the decision problem for its finitely-many variable fragments. We give a polynomial-time algorithm solving the decision problem for the variable-free fragment of CTL. We also give a polynomial-time algorithm which embeds the fragment of CTL with the modalities AX, EX, AG and EF into its one-variable fragment. The fragment of CTL with the modalities AX, EX, AG and EF is known to be EXPTIME-complete, in particular, it is not decidable in polynomial time. As a corollary, using the mentioned embedding we prove that n-variable fragment of CTL is not decidable in polynomial time, for any strictly positive integer n. More exactly, we prove that the decision problem for the one-variable fragment of CTL is EXPTIME-complete. In the conclusion, we discuss some related questions and, in particular, we give examples of other fragments of CTL with more simple decision problem than the one for CTL.
Keywords: propositional logics, non-classical logics, temporal logics, computational tree logic, decision problem, computational complexity.
Acknowledgements. The work is supported by RFBR projects 14-06-00298 and 16-07-01272.
References
1. Mendelson E. Introduction to Mathematical Logic. D. van Nostrand Comp., Inc., 1964, 300 p.
2. Boolos G.S., Jeffrey R.C. Computability and Logic. Cambrige Univ. Press, 1989, 304 p.
3. Clarke E.M., Grumberg O., Peled D. Model checking. MIT Press, 1999, 314 p.
4. Karpov Yu.G. Model checking: Verifikatsiyaparallelnykh i raspredelennykh sistem [Model checking: vefification of parallel and distributive systems] St. Petersburg, BHV-Peterburg, 2010, 560 p. (in Russ.).
5. Johnson D.S. Catalogue of complexity classes. Handbook of theor. comp. sc., MIT Press, 1994, vol. A, pp. 67-162.
6. Papadimitriou C. Computational complexity. Addison-Wesley, 1994, 540 p.
7. Emerson E.A., Halpern J.Y. Decision procedures and expressiveness in the temporal logic of branching time. Jour. Comp. andSyst. Sc., vol. 30, no. 1, 1985, pp. 1-24.
8. Fisher M.J., Ladner R.E. Propositional dynamic logic of regular programs. Jour. Comp. and Syst. Sc, 1979, vol. 18, pp. 194-211.
9. Spaan E. Complexity of modal logics. PhD Thesis. Univ. of Amsterdam, 1993, 130 p.
10. Halpern J.Y. The effect of bounding the number of primitive propositions and the depth of nesting on the complexity of modal logic. Artificial Intelligence, 1995, vol. 75, no. 2, pp. 361-372.
11. Chagrov A.V., Rybakov M.N. How many variables one needs to prove PSPACE-hardness of modal logics? Advances in Modal Logic, 2003, vol. 4, pp. 71-82.
12. Svejdar V. The decision problem of provability logic with only one atom. Arch. Math. Logic, 2003, pp. 1-6.
13. Rybakov M.N. Complexity of variable-free fragment of propositional dynamic logic. Vestnik TvGU. [Bul. Tver State Univ.], 2007, vol. 5, no. 11, pp. 5-17 (in Russ.).
14. Rybakov M.N. Complexity of intuitionistic propositional logic and its fragments. Jour. Applied Non-Classical Logics, 2008, vol. 18, no. 2-3, pp. 267-292.
15. Rybakov M.N. Complexity of intuitionistic and Visser's basic and formal logic in finitely many variables. Advances in Modal Logic, 2006, vol. 6, pp. 393-411.
16. Rybakov M.N. Complexity of finite-variable fragments of EXPTIME-complete logics. Jour. Applied Non-Classical Logics, 2007, vol. 17, no. 3, pp. 359-382.
Примеры библиографического описания статьи
1. Духовнева А.В., Рыбаков М.Н., Шкатов Д.П. Алгоритмическая выразительность некоторых фрагментов языка логики ветвящегося времени // Программные продукты и системы. 2016. Т. 29. № 4. С. 135-142; DOI: 10.15827/0236-235X.116.135-142.
2. Dukhovneva A.V., Rybakov M.N., Shkatov D.P. Algorithmical power of some fragments of computational tree logic. Programmnye produkty i sistemy [Software & Systems]. 2016, vol. 29, no. 4, pp. 135-142 (in Russ.); DOI: 10.15827/0236-235X.116.135-142.