Структура Крипке (проверка модели) - Kripke structure (model checking)
- В этой статье описываются структуры Крипке, используемые при проверке модели. Для более общего описания см. Семантику Крипке .
Структура Крипке является изменение системы перехода , первоначально предложенный Saul Крипке , используемой в модели проверки , чтобы представить поведение системы. Он состоит из графа , узлы которого представляют достижимые состояния системы, а ребра представляют переходы между состояниями, вместе с функцией маркировки, которая сопоставляет каждый узел с набором свойств, которые сохраняются в соответствующем состоянии. Временная логика традиционно интерпретируется в терминах структур Крипке.
Формальное определение
Пусть AP некоторое множество атомарных предложений , т.е. логические выражения над переменными, константами и предикатных символов. Кларк и др. определим структуру Крипке над AP как 4-кортеж M = ( S , I , R , L ), состоящий из
- конечное множество состояний S .
- множество начальных состояний I ⊆ S .
- переход отношение R ⊆ S × S таким образом, что R является левой общей , т.е. ∀s ∈ S ∃s' ∈ S такие , что (S, S') ∈ R .
- функция разметки (или интерпретации ) L : S → 2 AP .
Поскольку R является тотальным слева , всегда можно построить бесконечный путь через структуру Крипке. Состояние тупика может быть смоделировано одним исходящим ребром, возвращающимся к самому себе. Функция разметки L определяет для каждого состояния s ∈ S множество L ( s ) всех атомарных предложений, которые действительны в s .
Путь от структуры М представляет собой последовательность состояний р = с 1 , с 2 , с 3 , ... таким образом, что для каждого I> 0 , R (S I , S + 1 ) имеет место. Слово на пути р представляет собой последовательность наборов атомных положений , ш = L (s 1 ), L (s 2 ), L (s 3 ), ... , который является ω-слово в алфавите 2 AP .
С помощью этого определения структура Крипке (скажем, имеющая только одно начальное состояние i ∈ I ) может быть отождествлена с машиной Мура с одноэлементным входным алфавитом, а функция вывода является ее функцией маркировки.
Пример
Пусть множество атомарных предложений AP = {p, q} . p и q могут моделировать произвольные логические свойства системы, которую моделирует структура Крипке.
На рисунке справа показана структура Крипке M = ( S , I , R , L ) , где
- S = {s 1 , s 2 , s 3 } .
- I = {s 1 } .
- R = {(s 1 , s 2 ), (s 2 , s 1 ) (s 2 , s 3 ), (s 3 , s 3 )} .
- L = {(s 1 , {p, q}), (s 2 , {q}), (s 3 , {p})} .
M может создать путь ρ = s 1 , s 2 , s 1 , s 2 , s 3 , s 3 , s 3 , ... и w = {p, q}, {q}, {p, q}, {q}, {p}, {p}, {p}, ... - слово выполнения на пути ρ . M может создавать слова исполнения, принадлежащие языку ({p, q} {q}) * ({p}) ω ∪ ({p, q} {q}) ω .
Отношение к другим понятиям
Хотя эта терминология широко распространена в сообществе специалистов по проверке моделей, некоторые учебники по проверке моделей не определяют «структуру Крипке» в таком расширенном виде (или вообще не определяют), а просто используют концепцию (помеченной) переходной системы , которая дополнительно имеет набор действий Act , а отношение перехода определяется как подмножество S × Act × S , которое они дополнительно расширяют, чтобы включить набор атомарных предложений и функцию разметки для состояний ( L, как определено выше). В этом подходе бинарное отношение, полученное путем абстрагирования от меток действий, называется графом состояний .
Кларк и др. переопределить структуру Крипке как набор переходов (вместо одного), что эквивалентно помеченным переходам выше, когда они определяют семантику модального μ-исчисления .
Смотрите также
- Временная логика
- Проверка модели
- Семантика Крипке
- Линейная темпоральная логика
- Логика дерева вычислений