paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Nola: Later-Free Ghost State for Verifying Termination in Iris

Nola:用于在 Iris 中验证终止性的无 later 模态幽灵状态
PLDI 9(PLDI)2025匹配度 3/10 · 论文属于程序验证、分离逻辑与 Iris 的理论及机械化证明工作,涉及形式化验证基础,但未与 LLM/Agent 结合,也不涉及浮点程序分析或贝叶斯程序分析。它与用户“AI→PL 利用 LLM/Agent 改进形式化验证”的方向仅有间接背景关联,匹配度较低。引用 2 inbox
Yusuke Matsushita, Takeshi Tsukada
crossref: 2026-09-10

AI 速览

一句话:提出 Nola 框架实现无 later 模态的高阶幽灵状态,支撑 Iris 中对 Rust 程序终止性等完全正确性的验证。

分离逻辑近年发展迅速,已被用于证明 Rust 所有权类型系统的可靠性并对 Rust 程序做函数式验证。然而,在具有不变式、借用等高级特性(尤其是 Rust 所有权类型)的场景下验证终止性,无法通过简单套用仅处理安全性(safety)的已有工作实现。这些工作为高层推理 Rust 中共享可变状态而采用高阶幽灵状态(即依赖分离逻辑断言的高阶逻辑状态),但其方式依赖 later 模态,而 later 恰是验证终止性的根本障碍。为此,作者提出通用框架 Nola,实现无 later 的高阶幽灵状态:其核心思想是对高阶幽灵状态进行参数化,从而一般化并涵盖既有方法。即使在不变式与借用等高级特性存在下,Nola 也支持自然的终止性验证,并允许在元逻辑中使用任意归纳。Nola 已在 Rocq 中作为 Iris 的库完全机械化,作者还开发了 RustHalt 原型,作为首个用于 Rust 程序完全正确性验证的语义化、机械化基础。

问题
在存在 Rust 所有权类型、不变式与借用等高级特性时,现有基于高阶幽灵状态的方法依赖 later 模态,因而无法用于验证程序的终止性(完全正确性)。
方法
将高阶幽灵状态参数化,构造出无 later 模态的通用框架 Nola,从而一般化并涵盖既有方法,使元逻辑中的任意归纳可用于终止性推理。
评估
在 Rocq 中作为 Iris 库完成 Nola 的完全机械化,并构建 RustHalt 原型,展示对 Rust 程序进行语义化、机械化完全正确性验证的能力。
原文摘要(Abstract)

Separation logic (SL) has recently evolved at an exciting pace, opening the way to more complex goals, notably soundness proof of Rust's ownership type system and functional verification of Rust programs. In this paper, we address verification of termination in the presence of advanced features, especially Rust's ownership types. Perhaps surprisingly, this goal cannot be achieved by a simple application of existing studies that dealt only with safety properties. For high-level reasoning about advanced shared mutable state as used in Rust, they used higher-order ghost state (i.e., logical state that depends on SL assertions), but in a way that depends on the later modality, a fundamental obstacle to verifying termination. To solve this situation, we propose a novel general framework, Nola, which achieves later-free higher-order ghost state. Even in the presence of advanced features such as invariants and borrows, Nola enables natural termination verification, allowing arbitrary induction in the meta-logic. Its key idea is to parameterize higher-order ghost state, generalizing and subsuming the existing approach. Nola is fully mechanized in Rocq as a library of Iris. Moreover, to demonstrate the power of Nola, we develop a prototype of RustHalt, the first semantic and mechanized foundation for total correctness verification of Rust programs.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3079,
  title = {Nola: Later-Free Ghost State for Verifying Termination in Iris},
  author = {Yusuke Matsushita and Takeshi Tsukada},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {PLDI},
  year = {2025},
  doi = {10.1145/3729250}
}