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: 2510.11419
- 标题: Representations
- 作者: Paul Brunet (EPISEN & LACL, Université Paris-Est Créteil Val de Marne)
- 分类: cs.LO (Logic in Computer Science)
- 发表时间: 2025年10月14日 (arXiv版本)
- 论文链接: https://arxiv.org/abs/2510.11419
自动化系统的形式化分析是一个重要且不断发展的行业。这项活动通常需要开发新的验证框架来处理新的编程特性或新的考虑因素(感兴趣的错误)。其中一个特别令人沮丧的性质是建立逻辑相对于语义的完备性。在本文中,作者试图让这样的开发变得更容易,特别关注完备性。为此,作者提出了软件分析系统(SAS)的形式化(元)模型,即同名的"表示"(Representations)。该模型对被建模的SAS要求很少的假设,因此能够捕获大类此类系统。然后展示了该方法如何富有成效,既可以理解现有完备性证明的结构,也可以利用这种结构构建新系统并证明其完备性。
随着自动化系统承担越来越多样化的任务,形式化分析问题在重要性和多样性方面都在增长。当该领域在不久前还主要由关键系统及其潜在故障的研究主导时,现在我们看到诸如服务质量等问题也通过形式化分析来解决。
软件分析系统(SAS)的正确性依赖于两个性质:
- 可靠性(Soundness):逻辑中任何有效判断都被语义满足
- 完备性(Completeness):任何语义上正确的判断都可以通过逻辑建立
完备性通常是正确性证明中的困难部分,因为虽然可靠性可以通过检查逻辑各个规则的可靠性来建立,但完备性要求证明者为每个真实的语义事实产生推导,而没有通用方法似乎适用。
作者希望提供一个模块化的元系统基础,能够以透明的方式生成可靠且完备的SAS。这样的工具将允许形式化分析技术应用于更广泛的系统类别和关于它们的问题类别。
- 提出了表示(Representations)的形式化模型:一个通用的框架来描述软件分析系统,要求很少的假设
- 建立了表示的范畴论结构:定义了表示之间的同态,证明了表示范畴是笛卡尔的
- 提供了完备性证明的通用模板:通过"归约"(reductions)的概念,给出了建立完备性的演绎完备模板
- 开发了高阶表示理论:通过函子从集合范畴到表示范畴,刻画了参数化表示
- 展示了理论的实用性:通过Kleene代数及其扩展的多个实例,验证了方法的有效性
定义1(表示):一个表示是一个四元组 R=⟨T,E,∣=,≤⟩,其中:
- T 是迹(traces)的集合
- E 是表达式的集合
- ∣=:T⇀E 是满足关系
- ≤ 是 E 上的预序,满足 ∣=;≤⊆∣=
当满足 (∣=\∣=)⊆≤ 时,称该表示是精确的。
使用关系代数,可靠性和完备性可以表述为:
- 可靠性:∣=;≤⊆∣= (公理1)
- 完备性:∣=\∣=⊆≤ (公理2)
其中 ∣=\∣= 表示语义包含关系。
定义2(态射):给定两个表示 R1 和 R2,从前者到后者的态射是一对 ⟨ϕ,ψ⟩:R1→R2,满足:
- ϕ:E1→E2 是函数,ψ:T2⇀T1 是关系
- ϕ 保序:ϕ∗;≤1⊆≤2;ϕ∗
- 解释兼容:∣=2;ϕ∗=ψ;∣=1
命题1:如果 R1 和 R2 都是精确的,那么它们的乘积也是精确的。
定义3(归约):从表示 R1 到 R2 的归约是三元组 ⟨ϕ,τ,ψ⟩:R1⇝R2,满足:
- ϕ:E1→E2 和 τ:E2→E1 是函数,ψ:T2⇀T1 是关系
- τ 保序:τ∗;≤2⊆≤1;τ∗
- 解释兼容:∣=2;ϕ∗=ψ;∣=1
- 等价性:τ∗;ϕ∗⊆≤1 且 ϕ∗;τ∗⊆≤1
命题2:R1 是精确的当且仅当存在精确表示 R2 和归约 R1⇝R2。
定义9(HOR):高阶表示是结构 R=⟨T,E,∣∣=,⪯⟩,其中:
- E 和 T 是集合范畴的内函子
- ∣∣=:T⇀E 是右线性关系
- ⪯:E⇀E 是自然关系
- 对每个集合 A,RA=⟨TA,EA,∣∣=A,⪯A⟩ 是表示
设 Reg(A) 为字母表 A 上的正则表达式集合。自由Kleene代数产生精确表示:
KA(A):=⟨A∗,Reg(A),∣=KA,≤KA⟩
其中 w∣=KAe 定义为"w 属于与 e 相关联的有理语言"。
在KAT的完备性证明中,作者将每个项 p 转换为KAT等价项 p^,使得保护字符串集合 G(p^) 与正则表达式解释下的字符串集合 R(p^) 相同。这构成了从KAT表示到KA表示的归约。
SKA的完备性证明分两步:
- 为表达式子集建立完备性
- 证明每个表达式都可以翻译到这个子语法中并保持可证等价
每一步都是归约的实例,整个证明可以理解为单个归约。
论文通过多个Kleene代数扩展的实例验证了理论框架的有效性:
- KAT归约:⟨^,id,1⟩ 构成从KAT到KA的归约
- SKA归约:组合归约 ⟨^,id,Π∗⟩ 建立完备性
- CKA归约:通过语法闭包函数 ↓ 实现归约
引理1:在定义4的情况下,如果另外有 ≤2⊆≤1、∣=2⊆∣=1 且 R2 精确,那么对任何函数 ↓:E→E,以下等价:
- ⟨↓,id,1⟩ 是归约
- ↓ 是语法闭包
论文展示了如何将关系HOR扩展为函子:
- PreOrd→Repr:处理预序集合上的自由幺半群
- Repr→Repr:产生由其他表示参数化的表示
制度也在同一结构中封装语法和语义信息,但制度包含多个推理系统,而表示试图捕获一个推理系统。制度的定义比表示更严格,要求语法和语义都具备范畴结构。
由Fahrenberg和Legay引入的规范理论可以理解为结构 ⟨T,E,χ,≤⟩,其中 χ:T→E 将迹映射到其特征表达式。它可以通过设置 ∣==χ∗;≤ 转换为表示,因此规范理论是表示的特殊实例。
- 表示提供了一个通用且灵活的框架来建模软件分析系统
- 归约理论为完备性证明提供了结构化的方法
- 高阶表示允许参数化和模块化的系统构建
- 该理论在Kleene代数及其扩展中得到了有效验证
- 元理论选择:当前基于Set和Rel范畴,但可能存在更一般的抽象
- 关系代数片段:需要确定"正确"的关系代数片段
- 实际应用:需要更多具体验证任务的应用来验证实用性
- 形式化验证:在Rocq证明系统中形式化结果
- 分类研究:识别有用的表示类别
- 具体应用:应用理论到具体验证任务
- 元理论抽象:定义捕获确切需求而无额外假设的抽象结构
- 理论统一性:提供了统一的框架来理解不同的软件分析系统
- 完备性焦点:特别关注完备性这一困难问题,提供了系统性的解决方案
- 模块化设计:通过范畴论方法实现了模块化的证明和构造
- 实例丰富:通过多个Kleene代数扩展验证了理论的适用性
- 数学严谨:使用关系代数和范畴论提供了严格的数学基础
- 抽象程度高:理论框架相当抽象,可能限制了实际应用的直观性
- 实例局限:主要实例集中在Kleene代数领域,其他领域的适用性有待验证
- 实现细节缺乏:缺少具体实现或工具支持的讨论
- 性能考虑:没有讨论所提方法在计算复杂性方面的影响
- 理论贡献:为形式化方法领域提供了新的理论工具
- 方法论价值:可能影响未来完备性证明的结构和方法
- 跨领域潜力:框架的通用性使其有可能应用于多个验证领域
- 教育价值:为理解不同验证系统之间的关系提供了统一视角
- 新验证系统开发:为开发新的软件分析系统提供理论指导
- 完备性证明:为建立逻辑系统的完备性提供结构化方法
- 系统比较分析:为比较不同验证框架提供统一基础
- 理论研究:为形式化方法的理论研究提供新工具
论文引用了18篇重要文献,涵盖了关系代数、范畴论、Kleene代数及其扩展等多个相关领域的经典工作,为理论发展提供了坚实的基础。