paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Simplifying Safety Proofs with Forward-Backward Reasoning and Prophecy

用前向-后向推理与 Prophecy 简化安全性证明
PLDI 10(PLDI)2026匹配度 4/10 · 论文研究程序安全证明的增量式方法,属于形式化验证/程序验证,与用户关注的 AI/LLM 与静态分析/形式化验证交叉、浮点程序分析、贝叶斯程序分析均无直接关联;仅与形式化验证这一背景领域有间接联系。引用 0 inbox
Eden Frenkel, Kenneth L. McMillan, Oded Padon, Sharon Shoham
crossref: 2026-09-10

AI 速览

一句话:提出增量式安全证明系统,融合前向推理、时间反转的后向推理与 prophecy 步骤,将复杂归纳不变式拆解为更简单的证明步骤。

安全性验证常需构造单个归纳不变式,但其布尔结构与量词交替复杂,搜索空间大。本文提出增量式安全证明:把复杂不变式证明分解为多个更简单的步骤,证明系统包含基于归纳不变式的前向推理、基于时间反转系统的后向推理,以及为存在量化性质添加见证的 prophecy 规则。作者证明各规则可靠,并给出从增量证明恢复单一安全归纳不变式的构造,说明单个不变式比增量公式更复杂。在自然限制下每条规则都严格增强证明能力,从而缩减不变式搜索空间。Paxos 变体与 Raft 案例表明,前向-后向步骤消除复杂布尔结构,prophecy 消除量词与量词交替。

问题
安全性证明通常依赖构造单个归纳不变式,但这类不变式往往具有复杂的布尔结构和量词交替,使不变式搜索空间过大。
方法
提出增量式证明系统,包含三类规则:基于归纳不变式的前向推理、基于时间反转系统归纳不变式的后向推理,以及为存在量化性质添加见证的 prophecy 步骤;证明各规则可靠,并构造从增量证明恢复单一安全归纳不变式的方法,还证明在自然限制下每条规则严格增强证明能力。
评估
在 Paxos、其若干变体与 Raft 上进行案例分析,表明前向-后向步骤可消除复杂布尔结构,而 prophecy 可消除量词与量词交替。
原文摘要(Abstract)

We propose an incremental approach for safety proofs that decomposes a proof with a complex inductive invariant into a sequence of simpler proof steps. Our proof system combines rules for (i) forward reasoning using inductive invariants, (ii) backward reasoning using inductive invariants of a time-reversed system, and (iii) prophecy steps that add witnesses for existentially quantified properties. We prove each rule sound and give a construction that recovers a single safe inductive invariant from an incremental proof. The construction of the invariant demonstrates the increased complexity of a single inductive invariant compared to the invariant formulas used in an incremental proof, which may have simpler Boolean structures and fewer quantifiers and quantifier alternations. Under natural restrictions on the available invariant formulas, each proof rule strictly increases proof power. That is, each rule allows to prove more safety problems with the same set of formulas. Thus, the incremental approach is able to reduce the search space of invariant formulas needed to prove safety of a given system. A case study on Paxos, several of its variants, and Raft demonstrates that forward-backward steps can remove complex Boolean structure while prophecy eliminates quantifiers and quantifier alternations.

链接与引用

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

BibTeX
@article{FrenkelMPS26,
  title = {Simplifying Safety Proofs with Forward-Backward Reasoning and Prophecy},
  author = {Eden Frenkel and Kenneth L. McMillan and Oded Padon and Sharon Shoham},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {PLDI},
  year = {2026},
  doi = {10.1145/3808341}
}