CTL*
CTL* — это надмножество вычислительной древовидной логики (CTL) и линейной темпоральной логики (LTL). Он свободно комбинирует квантификаторы пути и темпоральные операторы. Как и CTL, CTL* представляет собой логику времени ветвления. Формальная семантика формул CTL* определяется относительно заданной структуры Крипке .
История
[ редактировать ]LTL был предложен для проверки компьютерных программ сначала Амиром Пнуэли в 1977 году. Четыре года спустя, в 1981 году, Э.М. Кларк и Э.А. Эмерсон изобрели CTL и проверку моделей CTL . CTL* был определен Э.А. Эмерсоном и Джозефом Ю. Халперном в 1983 году. [1]
CTL и LTL были разработаны независимо до CTL*. Обе подлогики стали стандартами в сообществе по проверке моделей , тогда как CTL* имеет практическое значение, поскольку обеспечивает выразительный испытательный стенд для представления и сравнения этой и других логик. Это удивительно [ нужна ссылка ] потому что вычислительная сложность проверки модели в CTL* не хуже, чем в LTL: они оба лежат в PSPACE .
Синтаксис
[ редактировать ]Язык формул корректных CTL* генерируется с помощью следующей однозначной (относительно заключения в скобки) контекстно-свободной грамматики :
где колеблется в пределах набора атомарных формул . Действительные CTL*-формулы строятся с использованием нетерминального . Эти формулы называются формулами состояния , а те, которые созданы символом называются формулами пути . (Приведенная выше грамматика содержит некоторые избыточности; например а также импликация и эквивалентность могут быть определены только для булевых алгебр (или логики высказываний ) из отрицания и конъюнкции, а временные операторы X и U достаточны для определения двух других .)
Операторы в основном такие же, как и в CTL . Однако в CTL каждый темпоральный оператор ( ) должен непосредственно предваряться квантором, тогда как в CTL* это не требуется. Квантор универсального пути может быть определен в CTL* так же, как и для классического исчисления предикатов. , хотя это невозможно во фрагменте CTL.
Примеры формул
[ редактировать ]- Формула CTL*, которая не находится ни в LTL, ни в CTL:
- Формула LTL, которой нет в CTL:
- Формула CTL, которая не указана в LTL:
- Формула CTL* в CTL и LTL:
Примечание. Если LTL рассматривается как подмножество CTL*, к любой формуле LTL неявно добавляется квантор универсального пути. .
Семантика
[ редактировать ]Семантика CTL* определяется относительно некоторой структуры Крипке . Как следует из названия, формулы состояния интерпретируются относительно состояний этой структуры, а формулы пути интерпретируются относительно путей на ней.
Формулы состояния
[ редактировать ]Если государство структуры Крипке удовлетворяет формуле состояния это обозначается . Это соотношение определяется индуктивно следующим образом:
- для всех путей начиная с
- по какому-то пути начиная с
Формулы пути
[ редактировать ]Отношение удовлетворения для формул пути и путь также определяется индуктивно. Для этого пусть обозначаем подпуть :
Проблемы с решением
[ редактировать ]Проверка модели CTL* (входной формулы для фиксированной модели) является PSPACE-полной. [2] и выполнимости проблема 2EXPTIME -полна. [2] [3]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Эмерсон, Э. Аллен; Халперн, Джозеф Ю. (1983). « Пересмотр «Иногда» и «Не никогда». Материалы 10-го симпозиума ACM SIGPLAN-SIGACT по принципам языков программирования — POPL '83 . стр. 127–140. дои : 10.1145/567067.567081 . ISBN 0897910907 . S2CID 15728260 .
- ^ Jump up to: а б Байер, Кристель ; Катоен, Йост-Питер (1 января 2008 г.). Принципы проверки моделей (серия «Представление и разум») . Массачусетский технологический институт Пресс. ISBN 978-0262026499 .
- ^ Орна Купферман ; Моше Ю. Варди (июнь 1999 г.). «Возвращение к проблеме церкви». Бюллетень символической логики . 5 (2): 245–263. дои : 10.2307/421091 . JSTOR 421091 . S2CID 18833301 .
- Амир Пнуэли : Временная логика программ. Труды 18-го Ежегодного симпозиума IEEE по основам информатики (FOCS), 1977, 46–57. DOI= 10.1109/SFCS.1977.32
- Э. Аллен Эмерсон , Джозеф Ю. Халперн : Еще раз о «иногда» и «не никогда»: о ветвлениях и линейной временной логике. Журнал ACM 33, 1 (январь 1986 г.), 151–178. DOI= http://doi.acm.org/10.1145/4904.4999
- Ф. Шнобелен: Сложность проверки модели темпоральной логики. Достижения в модальной логике 2002: 393–436.