Соответствующая логика
Логика сопоставления — это формальная логика, которая в основном используется для рассуждений о правильности компьютерных программ. Его операторы используют сопоставление с образцом для работы с набором состояний, а не с набором состояний. Он был создан Григоре Рошу и используется в K Framework.
Обзор
[ редактировать ]Логика сопоставления работает с шаблонами. [1] Операторы оценивают набор значений, которые им «соответствуют», а не истинное или ложное.
Учитывая набор подписей , шаблон может быть:
- Переменная:
- Структура после подписи используя другие шаблоны:
- Дополнение : другого шаблона
- Пересечение двух паттернов:
- Привязка: с
Соответствующая логика также может иметь набор своего рода . В этом случае каждый шаблон принадлежит определенному виду. Структуры можно использовать для объединения шаблонов разных типов. Некоторыми примерами типов, используемых при работе с семантикой программы, могут быть «32-битные целочисленные значения», «фреймы стека» или «кучная память».
Некоторые производные понятия определяются как:
совпадает со всеми элементами. не соответствует ни одному.
«Следует быть осторожным, рассуждая с помощью такой неклассической логики, поскольку базовая интуиция может обмануть». [1]
При интерпретации логики сопоставления (то есть при определении ее семантического значения) шаблон моделируется с помощью набора мощности. Интерпретация оператора — это набор значений, соответствующих шаблону.
Соответствие μ-логике
[ редактировать ]Соответствие -logic добавляет оператор с фиксированной точкой . [2]
Приложения
[ редактировать ]Логика сопоставления используется с логикой достижимости. [3] с помощью K Framework для определения операционной семантики и на основе нее создания логики Хоара .
Логику сопоставления можно преобразовать в логику первого порядка с равенством, что позволяет K Framework использовать существующие SMT -решатели для поиска доказательств теорем.
См. также
[ редактировать ]- Логика разделения
- логика Хоара
- Регулярное выражение , которое соответствует наборам строк.
Ссылки
[ редактировать ]- ^ Jump up to: а б Рошу, Григоре (2017). «Логическое сопоставление» (PDF) . Логические методы в информатике .
- ^ Чен, Сяохун; Рошу, Григоре (19 января 2019 г.). «Соответствие μ-логике» . Отчеты об исследованиях и технологиях Университета Иллинойса (компьютерные науки).
- ^ Красный, Григоре; Штефанеску, Андрей; Чобака, Стефан; Мур, Брэндон М. (2012). «Логика достижимости» (PDF) . Технический отчет Университета Иллинойса .