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.
In diesem Artikel wird die Formalisierung allgemeiner Grammatiken (d.h. Typ-0-Grammatiken) mit dem Lean 3 Beweisassistenten durchgeführt. Die Autoren definieren grundlegende Konzepte von Umschreibungsregeln und von Grammatiken abgeleiteten Wörtern und beweisen mit Grammatiken die Abgeschlossenheit der Typ-0-Sprachklasse unter vier Operationen: Vereinigung, Umkehrung, Konkatenation und Kleene-Stern-Operation. Die Fachliteratur konzentriert sich hauptsächlich auf Turing-Maschinen-Argumente, die möglicherweise schwieriger zu formalisieren sind. Für die Kleene-Stern-Operation können die Autoren der Fachliteratur nicht folgen und präsentieren stattdessen ihre eigene grammatikbasierte Konstruktion.
Bedeutung der formalen Sprachtheorie: Das Konzept formaler Sprachen ist zentral für die Informatik und kann durch verschiedene Formalismen erkannt werden, einschließlich Turing-Maschinen und formaler Grammatiken
Äquivalenz von Typ-0-Grammatiken und Turing-Maschinen: Turing-Maschinen und allgemeine Grammatiken charakterisieren beide dieselbe Klasse rekursiv aufzählbarer oder Typ-0-Sprachen
Einschränkungen bestehender Formalisierungsarbeiten: Es gibt umfangreiche Arbeiten zur Formalisierung von Turing-Maschinen in Beweisassistenten, aber die Formalisierung allgemeiner Grammatiken ist relativ unterrepräsentiert
Vorteile von Grammatiken: Allgemeine Grammatiken sind einfacher zu definieren als Turing-Maschinen, und bestimmte Beweise über allgemeine Grammatiken sind erheblich einfacher als analoge Beweise für Turing-Maschinen
Bedeutung von Abschlusseigenschaften: Die Abschlusseigenschaften von Typ-0-Sprachen sind grundlegende Ergebnisse der formalen Sprachtheorie
Bedarf an formaler Verifikation: Es werden maschinell überprüfbare, strenge Beweise benötigt, um die Korrektheit dieser grundlegenden Ergebnisse zu gewährleisten
Erste Formalisierung allgemeiner Grammatiken: Vollständige Definition grundlegender Konzepte und Operationen von Typ-0-Grammatiken in Lean 3
Formale Beweise für vier Abschlusseigenschaften:
Abgeschlossenheit unter Vereinigung
Abgeschlossenheit unter Umkehrung
Abgeschlossenheit unter Konkatenation
Abgeschlossenheit unter Kleene-Stern-Operation
Innovative Kleene-Stern-Konstruktion: Da die Fachliteratur keine grammatikbasierte Konstruktion bietet, entwickeln die Autoren ihre eigene grammatikgestützte Konstruktionsmethode
Wiederverwendbarer abstrakter Rahmen: Entwicklung der lifted_grammar-Struktur zur Reduzierung von Codeduplizierung und Bereitstellung allgemeiner Beweismuster
Etwa 12.500 Zeilen Open-Source-Lean-Code: Bereitstellung einer vollständigen Formalisierungsimplementierung für die Gemeinschaft
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
Komplexitätsklassen: Grammatiken können wichtige Komplexitätsklassen (wie die Klasse P) nicht definieren, weshalb Modelle wie Turing-Maschinen erforderlich bleiben
Konstruktivität: Die Autoren haben nicht versucht, die Entwicklung konstruktiv zu gestalten
Schnittabgeschlossenheit: Die Schnittabgeschlossenheit wurde nicht formalisiert, da keine elegante rein grammatikbasierte Konstruktion bekannt ist
Das Papier zitiert 26 wichtige Referenzen, die folgende Bereiche abdecken:
Klassische Lehrbücher: Aho & Ullman zur Parsing-Theorie, Hopcroft et al. zur Automatentheorie
Formalisierungsarbeiten: Implementierungen von Berechnungsmodellen in verschiedenen Beweisassistenten
Werkzeugdokumentation: Relevante Materialien zu Lean 3 und mathlib
Zusammenfassung: Dies ist ein hochqualitatives Papier der theoretischen Informatik, das nicht nur technisch bedeutende Beiträge leistet, sondern auch wertvolle Erfahrungen in der Formalisierungsmethodik bietet. Die Arbeit der Autoren legt eine solide Grundlage für den Aufbau einer vollständigen formalisierten Chomsky-Hierarchie und hat wichtige Bedeutung sowohl für die Sprachtheorie als auch für die Beweisassistenten-Gemeinschaft.