The formal analysis of automated systems is an important and growing industry. This activity routinely requires new verification frameworks to be developed to tackle new programming features, or new considerations (bugs of interest). Often, one particular property can prove frustrating to establish: completeness of the logic with respect to the semantics. In this paper, we try and make such developments easier, with a particular attention on completeness. Towards that aim, we propose a formal (meta-)model of software analysis systems (SAS), the eponymous Representations. This model requires few assumptions on the SAS being modelled, and as such is able to capture a large class of such systems. We then show how our approach can be fruitful, both to understand how existing completeness proofs can be structured, and to leverage this structure to build new systems and prove their completeness.
- ID статьи: 2510.11419
- Название: Представления
- Автор: Paul Brunet (EPISEN & LACL, Université Paris-Est Créteil Val de Marne)
- Классификация: cs.LO (Логика в информатике)
- Дата публикации: 14 октября 2025 г. (версия arXiv)
- Ссылка на статью: https://arxiv.org/abs/2510.11419
Формальный анализ автоматизированных систем является важной и постоянно развивающейся областью. Эта деятельность обычно требует разработки новых верификационных фреймворков для обработки новых особенностей программирования или новых соображений (интересующих ошибок). Одной из особенно затруднительных проблем является установление полноты логики относительно семантики. В данной статье автор стремится облегчить такую разработку, уделяя особое внимание полноте. Для этого предлагается формальная (мета)модель систем анализа программного обеспечения (SAS), называемая "Представления" (Representations). Данная модель предъявляет минимальные требования к моделируемым SAS, позволяя охватить широкий класс таких систем. Затем демонстрируется, как этот подход может быть плодотворным как для понимания структуры существующих доказательств полноты, так и для использования этой структуры при построении новых систем и доказательстве их полноты.
По мере того как автоматизированные системы берут на себя все более разнообразные задачи, проблемы формального анализа растут как в важности, так и в разнообразии. Когда эта область еще недавно была в основном сосредоточена на исследовании критических систем и их потенциальных отказов, теперь мы видим, что такие вопросы, как качество обслуживания, также решаются посредством формального анализа.
Корректность систем анализа программного обеспечения (SAS) зависит от двух свойств:
- Надежность (Soundness): любое допустимое суждение в логике удовлетворяется семантикой
- Полнота (Completeness): любое семантически корректное суждение может быть установлено через логику
Полнота обычно является сложной частью доказательства корректности, поскольку, хотя надежность может быть установлена путем проверки надежности каждого правила логики, полнота требует от доказывающего создать вывод для каждого истинного семантического факта, и не существует универсального метода, который бы применялся повсеместно.
Автор стремится предоставить модульную метасистемную основу, способную прозрачным образом генерировать надежные и полные SAS. Такой инструмент позволит применять методы формального анализа к более широкому классу систем и к более широкому классу вопросов о них.
- Предложена формальная модель представлений: универсальный фреймворк для описания систем анализа программного обеспечения с минимальными предположениями
- Установлена категориальная структура представлений: определены гомоморфизмы между представлениями, доказано, что категория представлений является декартовой
- Предоставлен универсальный шаблон для доказательств полноты: через концепцию "редукций" (reductions) дан дедуктивно полный шаблон для установления полноты
- Разработана теория представлений высшего порядка: через функторы из категории множеств в категорию представлений охарактеризованы параметризованные представления
- Продемонстрирована практическая применимость теории: через несколько примеров алгебр Клини и их расширений проверена эффективность метода
Определение 1 (Представление): представление — это четверка R=⟨T,E,∣=,≤⟩, где:
- T — множество трасс (traces)
- E — множество выражений
- ∣=:T⇀E — отношение удовлетворения
- ≤ — предпорядок на E, удовлетворяющий ∣=;≤⊆∣=
Представление называется точным, когда (∣=\∣=)⊆≤.
Используя реляционную алгебру, надежность и полнота могут быть выражены как:
- Надежность: ∣=;≤⊆∣= (аксиома 1)
- Полнота: ∣=\∣=⊆≤ (аксиома 2)
где ∣=\∣= обозначает отношение семантического включения.
Определение 2 (Морфизм): для двух представлений R1 и R2 морфизм из первого во второе — это пара ⟨ϕ,ψ⟩:R1→R2, удовлетворяющая:
- ϕ:E1→E2 — функция, ψ:T2⇀T1 — отношение
- ϕ сохраняет порядок: ϕ∗;≤1⊆≤2;ϕ∗
- совместимость интерпретации: ∣=2;ϕ∗=ψ;∣=1
Предложение 1: если R1 и R2 оба точны, то их произведение также точно.
Определение 3 (Редукция): редукция из представления R1 в R2 — это тройка ⟨ϕ,τ,ψ⟩:R1⇝R2, удовлетворяющая:
- ϕ:E1→E2 и τ:E2→E1 — функции, ψ:T2⇀T1 — отношение
- τ сохраняет порядок: τ∗;≤2⊆≤1;τ∗
- совместимость интерпретации: ∣=2;ϕ∗=ψ;∣=1
- эквивалентность: τ∗;ϕ∗⊆≤1 и ϕ∗;τ∗⊆≤1
Предложение 2: R1 точно тогда и только тогда, когда существуют точное представление R2 и редукция R1⇝R2.
Определение 9 (HOR): представление высшего порядка — это структура R=⟨T,E,∣∣=,⪯⟩, где:
- E и T — эндофункторы категории множеств
- ∣∣=:T⇀E — праволинейное отношение
- ⪯:E⇀E — естественное отношение
- для каждого множества A RA=⟨TA,EA,∣∣=A,⪯A⟩ является представлением
Пусть Reg(A) — множество регулярных выражений над алфавитом A. Свободная алгебра Клини порождает точное представление:
KA(A):=⟨A∗,Reg(A),∣=KA,≤KA⟩
где w∣=KAe определяется как "слово w принадлежит рациональному языку, связанному с e".
В доказательстве полноты KAT каждый терм p преобразуется в эквивалентный KAT терм p^, такой что множество охраняемых строк G(p^) совпадает с множеством строк R(p^) при интерпретации как регулярное выражение. Это составляет редукцию из представления KAT в представление KA.
Доказательство полноты SKA состоит из двух шагов:
- установление полноты для подмножества выражений
- доказательство того, что каждое выражение может быть переведено в этот подсинтаксис с сохранением доказуемой эквивалентности
Каждый шаг является примером редукции, и все доказательство может быть понято как единственная редукция.
Статья проверяет эффективность теоретического фреймворка через примеры нескольких расширений алгебры Клини:
- KAT редукция: ⟨^,id,1⟩ составляет редукцию из KAT в KA
- SKA редукция: комбинированная редукция ⟨^,id,Π∗⟩ устанавливает полноту
- CKA редукция: редукция реализуется через функцию синтаксического замыкания ↓
Лемма 1: при условиях определения 4, если дополнительно ≤2⊆≤1, ∣=2⊆∣=1 и R2 точно, то для любой функции ↓:E→E следующие утверждения эквивалентны:
- ⟨↓,id,1⟩ является редукцией
- ↓ является синтаксическим замыканием
Статья демонстрирует, как расширить реляционные HOR в функторы:
- PreOrd→Repr: обработка свободных моноидов над упорядоченными множествами
- Repr→Repr: производство представлений, параметризованных другими представлениями
Институции также инкапсулируют информацию о синтаксисе и семантике в одной структуре, но институции содержат несколько систем рассуждений, тогда как представления стремятся охватить одну систему рассуждений. Определение институций более строго, чем представлений, требуя категориальной структуры как для синтаксиса, так и для семантики.
Теория спецификаций, введенная Fahrenberg и Legay, может быть понята как структура ⟨T,E,χ,≤⟩, где χ:T→E отображает трассы в их характеристические выражения. Она может быть преобразована в представление путем установления ∣==χ∗;≤, поэтому теория спецификаций является частным случаем представлений.
- Представления предоставляют универсальный и гибкий фреймворк для моделирования систем анализа программного обеспечения
- Теория редукций предоставляет структурированный метод для доказательств полноты
- Представления высшего порядка позволяют параметризованное и модульное построение систем
- Теория была эффективно проверена на алгебрах Клини и их расширениях
- Выбор метатеории: текущий подход основан на категориях Set и Rel, но могут существовать более общие абстракции
- Фрагмент реляционной алгебры: необходимо определить "правильный" фрагмент реляционной алгебры
- Практическое применение: требуются дополнительные приложения к конкретным задачам верификации для проверки практической полезности
- Формальная верификация: формализация результатов в системе доказательств Rocq
- Категориальное исследование: выявление полезных классов представлений
- Конкретные приложения: применение теории к конкретным задачам верификации
- Абстракция метатеории: определение абстрактных структур, захватывающих точные требования без дополнительных предположений
- Теоретическое единство: предоставляет единый фреймворк для понимания различных систем анализа программного обеспечения
- Фокус на полноту: особое внимание к полноте как сложной проблеме, предоставляя систематическое решение
- Модульный дизайн: реализует модульные доказательства и конструкции через категориальный подход
- Богатые примеры: проверяет применимость теории через несколько расширений алгебры Клини
- Математическая строгость: предоставляет строгую математическую основу, используя реляционную алгебру и теорию категорий
- Высокий уровень абстракции: теоретический фреймворк довольно абстрактен, что может ограничить интуитивность практического применения
- Ограниченность примеров: основные примеры сосредоточены на области алгебр Клини, применимость в других областях требует проверки
- Отсутствие деталей реализации: отсутствует обсуждение конкретной реализации или поддержки инструментами
- Отсутствие анализа производительности: не обсуждается влияние предложенного метода на вычислительную сложность
- Теоретический вклад: предоставляет новые теоретические инструменты для области формальных методов
- Методологическая ценность: может повлиять на структуру и методы будущих доказательств полноты
- Потенциал междисциплинарного применения: универсальность фреймворка позволяет его применение в нескольких областях верификации
- Образовательная ценность: предоставляет единую перспективу для понимания отношений между различными системами верификации
- Разработка новых систем верификации: предоставляет теоретическое руководство для разработки новых систем анализа программного обеспечения
- Доказательства полноты: предоставляет структурированный метод для установления полноты логических систем
- Сравнительный анализ систем: предоставляет единую основу для сравнения различных верификационных фреймворков
- Теоретические исследования: предоставляет новые инструменты для теоретических исследований в области формальных методов
Статья цитирует 18 важных работ, охватывающих несколько связанных областей, включая реляционную алгебру, теорию категорий, алгебры Клини и их расширения, предоставляя прочную основу для теоретического развития.