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 del Artículo: 2510.11419
- Título: Representaciones
- Autor: Paul Brunet (EPISEN & LACL, Université Paris-Est Créteil Val de Marne)
- Clasificación: cs.LO (Lógica en Ciencia de la Computación)
- Fecha de Publicación: 14 de octubre de 2025 (versión arXiv)
- Enlace del Artículo: https://arxiv.org/abs/2510.11419
El análisis formal de sistemas automatizados es una industria importante y en constante evolución. Esta actividad típicamente requiere desarrollar nuevos marcos de verificación para manejar nuevas características de programación o nuevas consideraciones (errores de interés). Una característica particularmente frustrante es establecer la completitud de la lógica respecto a la semántica. En este artículo, el autor intenta facilitar tal desarrollo, con enfoque particular en la completitud. Para ello, propone una formalización de (meta)modelo de sistemas de análisis de software (SAS), denominada "Representaciones" (Representations). Este modelo requiere pocas suposiciones sobre los SAS modelados, permitiendo capturar una clase amplia de tales sistemas. Luego se demuestra cómo el enfoque es productivo, tanto para comprender la estructura de pruebas de completitud existentes como para utilizar esta estructura en la construcción de nuevos sistemas y la prueba de su completitud.
Conforme los sistemas automatizados asumen tareas cada vez más diversas, los problemas de análisis formal están creciendo tanto en importancia como en diversidad. Cuando hace poco el campo estaba dominado principalmente por la investigación de sistemas críticos y sus posibles fallos, ahora vemos que problemas como la calidad de servicio también se abordan mediante análisis formal.
La corrección de los sistemas de análisis de software (SAS) depende de dos propiedades:
- Solidez (Soundness): Cualquier juicio válido en la lógica es satisfecho por la semántica
- Completitud (Completeness): Cualquier juicio semánticamente correcto puede establecerse mediante la lógica
La completitud es típicamente la parte difícil en las pruebas de corrección, porque mientras que la solidez puede establecerse verificando la solidez de cada regla lógica individual, la completitud requiere que el probador produzca una derivación para cada hecho semántico verdadero, sin que parezca existir un método universal aplicable.
El autor desea proporcionar una base de metasistema modular que pueda generar SAS sólidos y completos de manera transparente. Tal herramienta permitiría aplicar técnicas de análisis formal a una clase más amplia de sistemas y de clases de problemas sobre ellos.
- Propone un modelo formal de Representaciones: Un marco universal para describir sistemas de análisis de software, requiriendo pocas suposiciones
- Establece la estructura categórica de representaciones: Define homomorfismos entre representaciones, prueba que la categoría de representaciones es cartesiana
- Proporciona una plantilla universal para pruebas de completitud: A través del concepto de "reducciones" (reductions), ofrece una plantilla deductiva completa para establecer completitud
- Desarrolla teoría de representaciones de orden superior: A través de funtores de la categoría de conjuntos a la categoría de representaciones, caracteriza representaciones parametrizadas
- Demuestra la practicidad de la teoría: A través de múltiples instancias de álgebras de Kleene y sus extensiones, valida la efectividad del método
Definición 1 (Representación): Una representación es una cuádrupla R=⟨T,E,∣=,≤⟩, donde:
- T es el conjunto de trazas (traces)
- E es el conjunto de expresiones
- ∣=:T⇀E es la relación de satisfacción
- ≤ es un preorden en E, satisfaciendo ∣=;≤⊆∣=
Se dice que la representación es exacta cuando se cumple (∣=\∣=)⊆≤.
Utilizando álgebra relacional, la solidez y completitud pueden expresarse como:
- Solidez: ∣=;≤⊆∣= (Axioma 1)
- Completitud: ∣=\∣=⊆≤ (Axioma 2)
donde ∣=\∣= denota la relación de inclusión semántica.
Definición 2 (Morfismo): Dadas dos representaciones R1 y R2, un morfismo de la primera a la segunda es un par ⟨ϕ,ψ⟩:R1→R2, satisfaciendo:
- ϕ:E1→E2 es una función, ψ:T2⇀T1 es una relación
- ϕ preserva orden: ϕ∗;≤1⊆≤2;ϕ∗
- Compatibilidad interpretativa: ∣=2;ϕ∗=ψ;∣=1
Proposición 1: Si R1 y R2 son ambas exactas, entonces su producto también es exacto.
Definición 3 (Reducción): Una reducción de la representación R1 a R2 es una terna ⟨ϕ,τ,ψ⟩:R1⇝R2, satisfaciendo:
- ϕ:E1→E2 y τ:E2→E1 son funciones, ψ:T2⇀T1 es una relación
- τ preserva orden: τ∗;≤2⊆≤1;τ∗
- Compatibilidad interpretativa: ∣=2;ϕ∗=ψ;∣=1
- Equivalencia: τ∗;ϕ∗⊆≤1 y ϕ∗;τ∗⊆≤1
Proposición 2: R1 es exacta si y solo si existe una representación exacta R2 y una reducción R1⇝R2.
Definición 9 (HOR): Una representación de orden superior es la estructura R=⟨T,E,∣∣=,⪯⟩, donde:
- E y T son endofuntores de la categoría de conjuntos
- ∣∣=:T⇀E es una relación lineal por la derecha
- ⪯:E⇀E es una relación natural
- Para cada conjunto A, RA=⟨TA,EA,∣∣=A,⪯A⟩ es una representación
Sea Reg(A) el conjunto de expresiones regulares sobre el alfabeto A. El álgebra de Kleene libre produce una representación exacta:
KA(A):=⟨A∗,Reg(A),∣=KA,≤KA⟩
donde w∣=KAe se define como "w pertenece al lenguaje racional asociado a e".
En la prueba de completitud de KAT, el autor convierte cada término p en un término equivalente en KAT p^, tal que el conjunto de cadenas protegidas G(p^) es idéntico al conjunto de cadenas bajo interpretación de expresiones regulares R(p^). Esto constituye una reducción de la representación KAT a la representación KA.
La prueba de completitud de SKA se divide en dos pasos:
- Establecer completitud para un subconjunto de expresiones
- Probar que cada expresión puede traducirse a esta subsintaxis manteniendo equivalencia demostrable
Cada paso es una instancia de reducción, y la prueba completa puede entenderse como una reducción única.
El artículo valida la efectividad del marco teórico a través de múltiples instancias de extensiones del álgebra de Kleene:
- Reducción KAT: ⟨^,id,1⟩ constituye una reducción de KAT a KA
- Reducción SKA: La reducción compuesta ⟨^,id,Π∗⟩ establece completitud
- Reducción CKA: Implementa reducción a través de la función de clausura sintáctica ↓
Lema 1: Bajo las condiciones de la Definición 4, si además se tiene ≤2⊆≤1, ∣=2⊆∣=1 y R2 es exacta, entonces para cualquier función ↓:E→E, lo siguiente es equivalente:
- ⟨↓,id,1⟩ es una reducción
- ↓ es una clausura sintáctica
El artículo demuestra cómo extender HOR relacional como funtores:
- PreOrd→Repr: Maneja monoides libres sobre conjuntos preordenados
- Repr→Repr: Produce representaciones parametrizadas por otras representaciones
Las instituciones también encapsulan información sintáctica y semántica en una estructura similar, pero las instituciones contienen múltiples sistemas de razonamiento, mientras que las representaciones intentan capturar un sistema de razonamiento único. La definición de instituciones es más restrictiva que la de representaciones, requiriendo que tanto la sintaxis como la semántica tengan estructura categórica.
Las teorías de especificación introducidas por Fahrenberg y Legay pueden entenderse como estructuras ⟨T,E,χ,≤⟩, donde χ:T→E mapea trazas a sus expresiones características. Pueden convertirse a representaciones estableciendo ∣==χ∗;≤, por lo que las teorías de especificación son instancias especiales de representaciones.
- Las representaciones proporcionan un marco universal y flexible para modelar sistemas de análisis de software
- La teoría de reducciones ofrece un método estructurado para pruebas de completitud
- Las representaciones de orden superior permiten construcción parametrizada y modular de sistemas
- La teoría ha sido validada efectivamente en álgebras de Kleene y sus extensiones
- Elección de Metateoría: Actualmente basada en las categorías Set y Rel, pero pueden existir abstracciones más generales
- Fragmento de Álgebra Relacional: Necesidad de determinar el fragmento "correcto" de álgebra relacional
- Aplicaciones Prácticas: Requiere más aplicaciones a tareas de verificación concretas para validar practicidad
- Verificación Formal: Formalizar resultados en el sistema de pruebas Rocq
- Investigación Categórica: Identificar categorías útiles de representaciones
- Aplicaciones Concretas: Aplicar la teoría a tareas de verificación específicas
- Abstracción Metateoría: Definir estructuras abstractas que capturen requisitos exactos sin suposiciones adicionales
- Unidad Teórica: Proporciona un marco unificado para comprender diferentes sistemas de análisis de software
- Enfoque en Completitud: Aborda específicamente el problema difícil de completitud, proporcionando solución sistemática
- Diseño Modular: Logra modularidad en pruebas y construcciones mediante métodos de teoría categórica
- Instancias Abundantes: Valida la aplicabilidad de la teoría a través de múltiples extensiones del álgebra de Kleene
- Rigor Matemático: Proporciona fundamentos matemáticos rigurosos utilizando álgebra relacional y teoría categórica
- Nivel de Abstracción Elevado: El marco teórico es bastante abstracto, lo que puede limitar la intuitividad de aplicaciones prácticas
- Limitación de Instancias: Las instancias principales se concentran en el dominio del álgebra de Kleene, quedando por verificar la aplicabilidad en otros campos
- Falta de Detalles de Implementación: Carece de discusión sobre implementación concreta o soporte de herramientas
- Consideraciones de Desempeño: No discute el impacto del método propuesto en complejidad computacional
- Contribución Teórica: Proporciona nuevas herramientas teóricas para el campo de métodos formales
- Valor Metodológico: Puede influir en la estructura y métodos de futuras pruebas de completitud
- Potencial Interdisciplinario: La universalidad del marco lo hace potencialmente aplicable a múltiples dominios de verificación
- Valor Educativo: Proporciona perspectiva unificada para comprender relaciones entre diferentes sistemas de verificación
- Desarrollo de Nuevos Sistemas de Verificación: Proporciona orientación teórica para desarrollar nuevos sistemas de análisis de software
- Pruebas de Completitud: Ofrece método estructurado para establecer completitud de sistemas lógicos
- Análisis Comparativo de Sistemas: Proporciona base unificada para comparar diferentes marcos de verificación
- Investigación Teórica: Proporciona nuevas herramientas para investigación teórica en métodos formales
El artículo cita 18 referencias importantes que abarcan múltiples campos relacionados incluyendo álgebra relacional, teoría categórica, álgebras de Kleene y sus extensiones, proporcionando una base sólida para el desarrollo teórico.