Closure Properties of General Grammars -- Formally Verified
Dvorak, Blanchette
We formalized general (i.e., type-0) grammars using the Lean 3 proof assistant. We defined basic notions of rewrite rules and of words derived by a grammar, and used grammars to show closure of the class of type-0 languages under four operations: union, reversal, concatenation, and the Kleene star. The literature mostly focuses on Turing machine arguments, which are possibly more difficult to formalize. For the Kleene star, we could not follow the literature and came up with our own grammar-based construction.
academic
Свойства замкнутости общих грамматик -- Формально верифицированные
В данной работе авторы формализовали общие грамматики (грамматики типа 0) с использованием помощника доказательств Lean 3. Авторы определили фундаментальные концепции правил переписывания и слов, выводимых из грамматики, и доказали замкнутость класса языков типа 0 относительно четырёх операций: объединения, обращения, конкатенации и звезды Клини. Литература в основном сосредоточена на аргументах машин Тьюринга, которые могут быть сложнее для формализации. Для звезды Клини авторы не смогли следовать литературным подходам и предложили собственную конструкцию на основе грамматик.
Значимость теории формальных языков: Концепции формальных языков являются ядром информатики и могут быть распознаны различными формализмами, включая машины Тьюринга и формальные грамматики
Эквивалентность грамматик типа 0 и машин Тьюринга: Машины Тьюринга и общие грамматики характеризуют один и тот же класс рекурсивно перечислимых языков или языков типа 0
Ограничения существующих формализаций: Хотя существует значительный объём работ по формализации машин Тьюринга в помощниках доказательств, формализация общих грамматик остаётся относительно недостаточной
Преимущества грамматик: Общие грамматики проще определить, чем машины Тьюринга, и некоторые доказательства свойств грамматик значительно проще, чем аналогичные доказательства для машин Тьюринга
Важность свойств замкнутости: Свойства замкнутости языков типа 0 являются фундаментальными результатами теории формальных языков
Потребность в формальной верификации: Требуются проверяемые машиной строгие доказательства для обеспечения корректности этих фундаментальных результатов
Первая формализация общих грамматик: Полное определение фундаментальных концепций и операций грамматик типа 0 в Lean 3
Формальные доказательства четырёх свойств замкнутости:
Замкнутость относительно объединения
Замкнутость относительно обращения
Замкнутость относительно конкатенации
Замкнутость относительно звезды Клини
Инновационная конструкция звезды Клини: Поскольку в литературе отсутствует конструкция на основе грамматик, авторы разработали собственный метод
Переиспользуемая абстрактная структура: Разработана структура lifted_grammar для уменьшения дублирования кода и предоставления универсальных схем доказательств
Библиотека открытого кода на Lean объёмом ~12 500 строк: Полная формализованная реализация, доступная для сообщества
def grammar_transforms (g : grammar T) (w1 w2 : list (symbol T g.nt)) : Prop :=
∃ r : grule T g.nt,
r ∈ g.rules ∧
∃ u v : list (symbol T g.nt),
w1 = u ++ r.input_L ++ [symbol.nonterminal r.input_N] ++ r.input_R ++ v ∧
w2 = u ++ r.output_string ++ v
Классы сложности: Грамматики не могут определить важные классы сложности (такие как класс P), для этого всё ещё требуются модели вроде машин Тьюринга
Конструктивность: Авторы не пытались сделать разработку конструктивной
Замкнутость относительно пересечения: Замкнутость относительно пересечения не формализована, так как авторы не знают элегантной конструкции, основанной исключительно на грамматиках
Классические учебники: теория синтаксического анализа Aho & Ullman, теория автоматов Hopcroft и др.
Формализованные работы: реализации вычислительных моделей в различных помощниках доказательств
Документация инструментов: соответствующие материалы Lean 3 и mathlib
Резюме: Это высокачественная статья по теоретической информатике, которая не только вносит важный технический вклад, но и предоставляет ценный опыт в области методологии формализации. Работа авторов закладывает прочную основу для построения полной формализованной иерархии Хомского и имеет значительную ценность как для теории формальных языков, так и для сообщества помощников доказательств.