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.
- Papier-ID: 2510.11419
- Titel: Darstellungen
- Autor: Paul Brunet (EPISEN & LACL, Université Paris-Est Créteil Val de Marne)
- Klassifizierung: cs.LO (Logik in der Informatik)
- Veröffentlichungsdatum: 14. Oktober 2025 (arXiv-Version)
- Papierlink: https://arxiv.org/abs/2510.11419
Die formale Analyse automatisierter Systeme ist ein wichtiges und sich ständig entwickelndes Gebiet. Diese Aktivität erfordert typischerweise die Entwicklung neuer Verifikationsrahmen zur Behandlung neuer Programmierfunktionen oder neuer Überlegungen (Fehler von Interesse). Eine besonders frustrierende Eigenschaft ist die Etablierung der Vollständigkeit einer Logik in Bezug auf die Semantik. In diesem Papier versucht der Autor, solche Entwicklungen zu erleichtern, mit besonderem Fokus auf Vollständigkeit. Zu diesem Zweck wird eine formale (Meta-)Modellierung von Softwareanalysesystemen (SAS) vorgeschlagen, die sogenannte "Darstellungen" (Representations). Dieses Modell stellt nur minimale Anforderungen an die modellierten SAS und kann daher eine große Klasse solcher Systeme erfassen. Anschließend wird gezeigt, wie dieser Ansatz fruchtbar ist, sowohl um die Struktur bestehender Vollständigkeitsbeweise zu verstehen als auch um diese Struktur zu nutzen, um neue Systeme zu konstruieren und deren Vollständigkeit zu beweisen.
Mit der zunehmend vielfältigeren Aufgabenstellung automatisierter Systeme wächst die Bedeutung und Vielfalt formaler Analysefragen. Während das Gebiet vor kurzem noch hauptsächlich von der Untersuchung kritischer Systeme und ihrer potenziellen Ausfälle dominiert wurde, sehen wir nun auch Fragen wie Dienstqualität, die durch formale Analyse gelöst werden.
Die Korrektheit von Softwareanalysesystemen (SAS) hängt von zwei Eigenschaften ab:
- Korrektheit (Soundness): Jedes gültige Urteil in der Logik wird durch die Semantik erfüllt
- Vollständigkeit (Completeness): Jedes semantisch korrekte Urteil kann durch die Logik etabliert werden
Vollständigkeit ist typischerweise der schwierige Teil von Korrektheitsbeweisen, da zwar Korrektheit durch Überprüfung der Korrektheit einzelner Logikregeln etabliert werden kann, Vollständigkeit jedoch erfordert, dass der Beweiser für jede wahre semantische Tatsache eine Ableitung erzeugt, ohne dass eine universelle Methode anwendbar zu sein scheint.
Der Autor möchte eine modulare Metasystem-Grundlage bereitstellen, die auf transparente Weise korrekte und vollständige SAS erzeugen kann. Ein solches Werkzeug würde es ermöglichen, formale Analysetechniken auf eine breitere Klasse von Systemen und Fragen über sie anzuwenden.
- Vorschlag eines formalen Modells von Darstellungen: Ein universeller Rahmen zur Beschreibung von Softwareanalysesystemen mit minimalen Annahmen
- Etablierung der kategorientheoretischen Struktur von Darstellungen: Definition von Homomorphismen zwischen Darstellungen, Beweis, dass die Kategorie der Darstellungen kartesisch ist
- Bereitstellung einer universellen Vorlage für Vollständigkeitsbeweise: Durch das Konzept der "Reduktionen" wird eine deduktive Vollständigkeitsvorlage gegeben
- Entwicklung einer höherstufigen Darstellungstheorie: Durch Funktoren von der Mengenkategorie zur Darstellungskategorie werden parametrisierte Darstellungen charakterisiert
- Demonstration der praktischen Anwendbarkeit der Theorie: Durch mehrere Instanzen von Kleene-Algebren und deren Erweiterungen wird die Wirksamkeit des Ansatzes validiert
Definition 1 (Darstellung): Eine Darstellung ist ein Quadrupel R=⟨T,E,∣=,≤⟩, wobei:
- T die Menge der Spuren (traces) ist
- E die Menge der Ausdrücke ist
- ∣=:T⇀E die Erfüllungsrelation ist
- ≤ eine Vorordnung auf E ist, die ∣=;≤⊆∣= erfüllt
Eine Darstellung heißt präzise, wenn (∣=\∣=)⊆≤ erfüllt ist.
Mit Relationalalgebra können Korrektheit und Vollständigkeit wie folgt ausgedrückt werden:
- Korrektheit: ∣=;≤⊆∣= (Axiom 1)
- Vollständigkeit: ∣=\∣=⊆≤ (Axiom 2)
wobei ∣=\∣= die semantische Inklusionsrelation darstellt.
Definition 2 (Morphismus): Gegeben zwei Darstellungen R1 und R2 ist ein Morphismus von der ersten zur zweiten ein Paar ⟨ϕ,ψ⟩:R1→R2, das erfüllt:
- ϕ:E1→E2 ist eine Funktion, ψ:T2⇀T1 ist eine Relation
- ϕ ist ordnungserhaltend: ϕ∗;≤1⊆≤2;ϕ∗
- Interpretationskompatibilität: ∣=2;ϕ∗=ψ;∣=1
Proposition 1: Wenn R1 und R2 beide präzise sind, dann ist auch ihr Produkt präzise.
Definition 3 (Reduktion): Eine Reduktion von Darstellung R1 zu R2 ist ein Tripel ⟨ϕ,τ,ψ⟩:R1⇝R2, das erfüllt:
- ϕ:E1→E2 und τ:E2→E1 sind Funktionen, ψ:T2⇀T1 ist eine Relation
- τ ist ordnungserhaltend: τ∗;≤2⊆≤1;τ∗
- Interpretationskompatibilität: ∣=2;ϕ∗=ψ;∣=1
- Äquivalenz: τ∗;ϕ∗⊆≤1 und ϕ∗;τ∗⊆≤1
Proposition 2: R1 ist präzise genau dann, wenn es eine präzise Darstellung R2 und eine Reduktion R1⇝R2 gibt.
Definition 9 (HOR): Eine höherstufige Darstellung ist eine Struktur R=⟨T,E,∣∣=,⪯⟩, wobei:
- E und T Endfunktoren der Mengenkategorie sind
- ∣∣=:T⇀E eine rechtslineare Relation ist
- ⪯:E⇀E eine natürliche Relation ist
- Für jede Menge A ist RA=⟨TA,EA,∣∣=A,⪯A⟩ eine Darstellung
Sei Reg(A) die Menge der regulären Ausdrücke über dem Alphabet A. Die freie Kleene-Algebra erzeugt eine präzise Darstellung:
KA(A):=⟨A∗,Reg(A),∣=KA,≤KA⟩
wobei w∣=KAe definiert ist als "w gehört zur rationalen Sprache, die mit e assoziiert ist".
Im Vollständigkeitsbeweis für KAT wird jeder Term p in einen KAT-äquivalenten Term p^ umgewandelt, so dass die Schutzzeichenkette G(p^) mit der Zeichenkettenmenge R(p^) unter regulärer Ausdrucksinterpretation identisch ist. Dies bildet eine Reduktion von der KAT-Darstellung zur KA-Darstellung.
Der Vollständigkeitsbeweis für SKA erfolgt in zwei Schritten:
- Etablierung der Vollständigkeit für eine Teilmenge von Ausdrücken
- Beweis, dass jeder Ausdruck in diese Teilsyntax übersetzt werden kann und beweisbare Äquivalenz bewahrt
Jeder Schritt ist eine Instanz einer Reduktion, und der gesamte Beweis kann als einzelne Reduktion verstanden werden.
Das Papier validiert die Wirksamkeit des theoretischen Rahmens durch mehrere Instanzen von Kleene-Algebra-Erweiterungen:
- KAT-Reduktion: ⟨^,id,1⟩ bildet eine Reduktion von KAT zu KA
- SKA-Reduktion: Kombinierte Reduktion ⟨^,id,Π∗⟩ etabliert Vollständigkeit
- CKA-Reduktion: Reduktion durch syntaktische Abschlussfunktion ↓
Lemma 1: Unter den Bedingungen von Definition 4, wenn zusätzlich ≤2⊆≤1, ∣=2⊆∣=1 und R2 präzise ist, dann sind für jede Funktion ↓:E→E folgende äquivalent:
- ⟨↓,id,1⟩ ist eine Reduktion
- ↓ ist ein syntaktischer Abschluss
Das Papier zeigt, wie Relationen-HOR zu Funktoren erweitert werden:
- PreOrd→Repr: Behandlung freier Monoide über Vorordnungsmengen
- Repr→Repr: Erzeugung von Darstellungen, die durch andere Darstellungen parametrisiert sind
Institutionen kapseln auch syntaktische und semantische Informationen in derselben Struktur, aber Institutionen enthalten mehrere Inferenzsysteme, während Darstellungen versuchen, ein Inferenzsystem zu erfassen. Die Definition von Institutionen ist restriktiver als die von Darstellungen und erfordert, dass sowohl Syntax als auch Semantik kategoriale Strukturen haben.
Spezifikationstheorien, eingeführt von Fahrenberg und Legay, können als Struktur ⟨T,E,χ,≤⟩ verstanden werden, wobei χ:T→E Spuren auf ihre charakteristischen Ausdrücke abbildet. Sie können durch Setzen von ∣==χ∗;≤ in eine Darstellung umgewandelt werden, daher sind Spezifikationstheorien spezielle Instanzen von Darstellungen.
- Darstellungen bieten einen universellen und flexiblen Rahmen zur Modellierung von Softwareanalysesystemen
- Die Reduktionstheorie bietet eine strukturierte Methode für Vollständigkeitsbeweise
- Höherstufige Darstellungen ermöglichen parametrisierte und modulare Systemkonstruktion
- Die Theorie wurde erfolgreich in Kleene-Algebren und deren Erweiterungen validiert
- Metatheorie-Wahl: Derzeit auf Set- und Rel-Kategorien basierend, aber möglicherweise existieren allgemeinere Abstraktionen
- Relationalalgebra-Fragment: Notwendigkeit, das "richtige" Relationalalgebra-Fragment zu bestimmen
- Praktische Anwendung: Mehr konkrete Verifikationsaufgaben erforderlich, um praktische Anwendbarkeit zu validieren
- Formale Verifikation: Formalisierung der Ergebnisse im Rocq-Beweissystem
- Kategorienforschung: Identifikation nützlicher Darstellungskategorien
- Konkrete Anwendungen: Anwendung der Theorie auf konkrete Verifikationsaufgaben
- Metatheorie-Abstraktion: Definition von Abstraktionen, die genaue Anforderungen ohne zusätzliche Annahmen erfassen
- Theoretische Einheitlichkeit: Bietet einen einheitlichen Rahmen zum Verständnis verschiedener Softwareanalysesysteme
- Fokus auf Vollständigkeit: Besondere Aufmerksamkeit auf Vollständigkeit als schwieriges Problem mit systematischer Lösung
- Modulares Design: Realisierung modularer Beweise und Konstruktionen durch kategorientheoretische Methoden
- Reichhaltige Beispiele: Validierung der Theorieanwendbarkeit durch mehrere Kleene-Algebra-Erweiterungen
- Mathematische Strenge: Bereitstellung einer rigorosen mathematischen Grundlage durch Relationalalgebra und Kategorientheorie
- Hohes Abstraktionsniveau: Der theoretische Rahmen ist ziemlich abstrakt und könnte die Intuitivität praktischer Anwendungen einschränken
- Begrenzte Beispiele: Hauptbeispiele konzentrieren sich auf das Kleene-Algebra-Gebiet, Anwendbarkeit in anderen Gebieten bleibt zu überprüfen
- Mangel an Implementierungsdetails: Fehlende Diskussion konkreter Implementierungen oder Werkzeugunterstützung
- Fehlende Leistungsüberlegungen: Keine Diskussion der Auswirkungen der vorgeschlagenen Methode auf Rechenkomplexität
- Theoretischer Beitrag: Bereitstellung neuer theoretischer Werkzeuge für das Gebiet der formalen Methoden
- Methodologischer Wert: Mögliche Beeinflussung der Struktur und Methoden zukünftiger Vollständigkeitsbeweise
- Interdisziplinäres Potenzial: Die Universalität des Rahmens ermöglicht mögliche Anwendungen in mehreren Verifikationsgebieten
- Pädagogischer Wert: Bereitstellung einer einheitlichen Perspektive zum Verständnis von Beziehungen zwischen verschiedenen Verifikationssystemen
- Entwicklung neuer Verifikationssysteme: Theoretische Anleitung für die Entwicklung neuer Softwareanalysesysteme
- Vollständigkeitsbeweise: Strukturierte Methode zur Etablierung der Vollständigkeit von Logik-Systemen
- Systemvergleichsanalyse: Einheitliche Grundlage für den Vergleich verschiedener Verifikationsrahmen
- Theoretische Forschung: Neue Werkzeuge für theoretische Forschung in formalen Methoden
Das Papier zitiert 18 wichtige Literaturquellen, die mehrere verwandte Gebiete wie Relationalalgebra, Kategorientheorie, Kleene-Algebren und deren Erweiterungen abdecken und eine solide Grundlage für die theoretische Entwicklung bieten.