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 Articolo: 2510.11419
- Titolo: Rappresentazioni
- Autore: Paul Brunet (EPISEN & LACL, Université Paris-Est Créteil Val de Marne)
- Classificazione: cs.LO (Logica in Informatica)
- Data di Pubblicazione: 14 ottobre 2025 (versione arXiv)
- Link Articolo: https://arxiv.org/abs/2510.11419
L'analisi formale dei sistemi automatizzati è un settore importante e in continua evoluzione. Questa attività richiede tipicamente lo sviluppo di nuovi framework di verifica per affrontare nuove caratteristiche di programmazione o nuove considerazioni (errori di interesse). Una proprietà particolarmente frustrante è l'établissement della completezza logica rispetto alla semantica. In questo articolo, l'autore cerca di facilitare tale sviluppo, con particolare attenzione alla completezza. A tal fine, propone una formalizzazione (meta)modello dei sistemi di analisi software (SAS), denominato "Rappresentazioni" (Representations). Il modello richiede poche ipotesi rispetto agli SAS modellati, consentendo così di catturare una vasta classe di tali sistemi. Successivamente, dimostra come questo approccio sia produttivo sia per comprendere la struttura delle prove di completezza esistenti, sia per sfruttare questa struttura nella costruzione di nuovi sistemi e nella dimostrazione della loro completezza.
Con l'espandersi dei compiti affidati ai sistemi automatizzati, i problemi di analisi formale stanno crescendo sia in importanza che in varietà. Mentre il settore era precedentemente dominato principalmente dallo studio di sistemi critici e dei loro potenziali guasti, ora osserviamo che questioni come la qualità del servizio vengono affrontate anche attraverso l'analisi formale.
La correttezza dei sistemi di analisi software (SAS) dipende da due proprietà:
- Solidità (Soundness): qualsiasi giudizio valido nella logica è soddisfatto dalla semantica
- Completezza (Completeness): qualsiasi giudizio semanticamente corretto può essere stabilito attraverso la logica
La completezza è tipicamente la parte difficile nelle prove di correttezza, poiché mentre la solidità può essere stabilita verificando la solidità di ogni regola logica, la completezza richiede al dimostratore di produrre una derivazione per ogni fatto semantico vero, senza che sembri esistere un metodo universale applicabile.
L'autore intende fornire una base metasistemica modulare capace di generare in modo trasparente SAS solidi e completi. Uno strumento di questo tipo consentirebbe l'applicazione di tecniche di analisi formale a una categoria più ampia di sistemi e di questioni riguardanti essi.
- Propone un modello formale di Rappresentazioni: un framework generico per descrivere sistemi di analisi software, richiedendo poche ipotesi
- Stabilisce la struttura categoriale delle Rappresentazioni: definisce omomorfismi tra rappresentazioni, dimostrando che la categoria delle rappresentazioni è cartesiana
- Fornisce un template universale per le prove di completezza: attraverso il concetto di "riduzioni" (reductions), fornisce un template deduttivo completo per stabilire la completezza
- Sviluppa la teoria delle rappresentazioni di ordine superiore: attraverso funtori dalla categoria degli insiemi alla categoria delle rappresentazioni, caratterizza le rappresentazioni parametrizzate
- Dimostra l'utilità pratica della teoria: attraverso molteplici istanze di algebre di Kleene e loro estensioni, valida l'efficacia del metodo
Definizione 1 (Rappresentazione): una rappresentazione è una quadrupla R=⟨T,E,∣=,≤⟩, dove:
- T è l'insieme delle tracce
- E è l'insieme delle espressioni
- ∣=:T⇀E è la relazione di soddisfacimento
- ≤ è un preordine su E, soddisfacendo ∣=;≤⊆∣=
Una rappresentazione è detta esatta quando (∣=\∣=)⊆≤.
Utilizzando l'algebra relazionale, la solidità e la completezza possono essere espresse come:
- Solidità: ∣=;≤⊆∣= (Assioma 1)
- Completezza: ∣=\∣=⊆≤ (Assioma 2)
dove ∣=\∣= denota la relazione di inclusione semantica.
Definizione 2 (Morfismo): date due rappresentazioni R1 e R2, un morfismo dalla prima alla seconda è una coppia ⟨ϕ,ψ⟩:R1→R2, soddisfacendo:
- ϕ:E1→E2 è una funzione, ψ:T2⇀T1 è una relazione
- ϕ preserva l'ordine: ϕ∗;≤1⊆≤2;ϕ∗
- Compatibilità interpretativa: ∣=2;ϕ∗=ψ;∣=1
Proposizione 1: se R1 e R2 sono entrambe esatte, allora il loro prodotto è anch'esso esatto.
Definizione 3 (Riduzione): una riduzione dalla rappresentazione R1 a R2 è una tripla ⟨ϕ,τ,ψ⟩:R1⇝R2, soddisfacendo:
- ϕ:E1→E2 e τ:E2→E1 sono funzioni, ψ:T2⇀T1 è una relazione
- τ preserva l'ordine: τ∗;≤2⊆≤1;τ∗
- Compatibilità interpretativa: ∣=2;ϕ∗=ψ;∣=1
- Equivalenza: τ∗;ϕ∗⊆≤1 e ϕ∗;τ∗⊆≤1
Proposizione 2: R1 è esatta se e solo se esiste una rappresentazione esatta R2 e una riduzione R1⇝R2.
Definizione 9 (HOR): una rappresentazione di ordine superiore è una struttura R=⟨T,E,∣∣=,⪯⟩, dove:
- E e T sono endofuntori della categoria degli insiemi
- ∣∣=:T⇀E è una relazione lineare a destra
- ⪯:E⇀E è una relazione naturale
- Per ogni insieme A, RA=⟨TA,EA,∣∣=A,⪯A⟩ è una rappresentazione
Sia Reg(A) l'insieme delle espressioni regolari sull'alfabeto A. L'algebra di Kleene libera produce una rappresentazione esatta:
KA(A):=⟨A∗,Reg(A),∣=KA,≤KA⟩
dove w∣=KAe è definito come "w appartiene al linguaggio razionale associato a e".
Nella prova di completezza di KAT, l'autore trasforma ogni termine p in un termine equivalente KAT p^, tale che l'insieme di stringhe protette G(p^) coincida con l'insieme di stringhe R(p^) sotto l'interpretazione di espressioni regolari. Questo costituisce una riduzione dalla rappresentazione KAT alla rappresentazione KA.
La prova di completezza di SKA procede in due fasi:
- Stabilire la completezza per un sottoinsieme di espressioni
- Provare che ogni espressione può essere tradotta in questa sottosintassi preservando l'equivalenza provabile
Ogni fase è un'istanza di riduzione, e l'intera prova può essere compresa come una singola riduzione.
L'articolo valida l'efficacia del framework teorico attraverso molteplici istanze di estensioni dell'algebra di Kleene:
- Riduzione KAT: ⟨^,id,1⟩ costituisce una riduzione da KAT a KA
- Riduzione SKA: la riduzione composita ⟨^,id,Π∗⟩ stabilisce la completezza
- Riduzione CKA: la riduzione è implementata attraverso la funzione di chiusura sintattica ↓
Lemma 1: nelle condizioni della Definizione 4, se inoltre ≤2⊆≤1, ∣=2⊆∣=1 e R2 è esatta, allora per qualsiasi funzione ↓:E→E, le seguenti affermazioni sono equivalenti:
- ⟨↓,id,1⟩ è una riduzione
- ↓ è una chiusura sintattica
L'articolo dimostra come estendere le HOR relazionali in funtori:
- PreOrd→Repr: gestisce i monoidi liberi su insiemi preordinati
- Repr→Repr: produce rappresentazioni parametrizzate da altre rappresentazioni
Le istituzioni incapsulano anch'esse informazioni sintattiche e semantiche nella stessa struttura, ma le istituzioni contengono molteplici sistemi di ragionamento, mentre le rappresentazioni cercano di catturare un singolo sistema di ragionamento. La definizione di istituzione è più ristrittiva rispetto alle rappresentazioni, richiedendo che sia la sintassi che la semantica abbiano struttura categoriale.
Le teorie di specifica introdotte da Fahrenberg e Legay possono essere comprese come strutture ⟨T,E,χ,≤⟩, dove χ:T→E mappa le tracce alle loro espressioni caratteristiche. Possono essere convertite in rappresentazioni impostando ∣==χ∗;≤, pertanto le teorie di specifica sono istanze speciali di rappresentazioni.
- Le rappresentazioni forniscono un framework generico e flessibile per modellare sistemi di analisi software
- La teoria delle riduzioni fornisce un metodo strutturato per le prove di completezza
- Le rappresentazioni di ordine superiore consentono la costruzione parametrizzata e modulare di sistemi
- La teoria è stata validata efficacemente nelle algebre di Kleene e nelle loro estensioni
- Scelta della Metateoria: attualmente basata sulle categorie Set e Rel, ma potrebbero esistere astrazioni più generali
- Frammento di Algebra Relazionale: è necessario determinare il frammento "corretto" di algebra relazionale
- Applicazioni Pratiche: sono necessarie ulteriori applicazioni a compiti di verifica concreti per validare l'utilità pratica
- Verifica Formale: formalizzare i risultati nel sistema di prova Rocq
- Ricerca Categoriale: identificare categorie utili di rappresentazioni
- Applicazioni Concrete: applicare la teoria a compiti di verifica specifici
- Astrazione Metateoria: definire strutture astratte che catturino i requisiti esatti senza ipotesi aggiuntive
- Unità Teorica: fornisce un framework unificato per comprendere diversi sistemi di analisi software
- Focus sulla Completezza: affronta specificamente la completezza, un problema difficile, fornendo una soluzione sistematica
- Progettazione Modulare: realizza la modularità delle prove e delle costruzioni attraverso metodi categoriali
- Istanze Ricche: valida l'applicabilità della teoria attraverso molteplici estensioni dell'algebra di Kleene
- Rigore Matematico: fornisce fondamenti matematici rigorosi utilizzando algebra relazionale e teoria delle categorie
- Alto Livello di Astrazione: il framework teorico è piuttosto astratto, il che potrebbe limitare l'intuizione nelle applicazioni pratiche
- Limitazione delle Istanze: le istanze principali si concentrano nel dominio dell'algebra di Kleene, l'applicabilità in altri campi rimane da verificare
- Mancanza di Dettagli di Implementazione: mancano discussioni su implementazioni concrete o supporto di strumenti
- Considerazioni di Prestazione: non viene discusso l'impatto del metodo proposto sulla complessità computazionale
- Contributo Teorico: fornisce nuovi strumenti teorici al campo dei metodi formali
- Valore Metodologico: potrebbe influenzare la struttura e i metodi delle future prove di completezza
- Potenziale Interdisciplinare: la generalità del framework suggerisce possibili applicazioni in molteplici domini di verifica
- Valore Educativo: fornisce una prospettiva unificata per comprendere le relazioni tra diversi sistemi di verifica
- Sviluppo di Nuovi Sistemi di Verifica: fornisce guida teorica per lo sviluppo di nuovi sistemi di analisi software
- Prove di Completezza: fornisce un metodo strutturato per stabilire la completezza di sistemi logici
- Analisi Comparativa di Sistemi: fornisce una base unificata per confrontare diversi framework di verifica
- Ricerca Teorica: fornisce nuovi strumenti per la ricerca teorica nei metodi formali
L'articolo cita 18 importanti riferimenti bibliografici, coprendo molteplici domini correlati inclusa l'algebra relazionale, la teoria delle categorie, l'algebra di Kleene e le sue estensioni, fornendo una base solida per lo sviluppo teorico.