paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Theorems for free from separation logic specifications

从分离逻辑规约中获得自由定理
ICFP 5(ICFP)2021匹配度 2/10 · 该论文是纯分离逻辑与形式化验证工作,主题是自由定理和线性化证明,未涉及 LLM/Agent、静态分析、浮点程序分析或贝叶斯程序分析,仅与“形式化验证”这一目标领域有边缘关联。引用 19 inbox
Lars Birkedal, Thomas Dinsdale-Young, Armaël Guéneau, Guilhem Jaber, Kasper Svendsen, Nikos Tzevelekos
crossref: 2026-09-10

AI 速览

一句话:提出从抽象分离逻辑规约推导交互迹的自由定理,并证明逻辑原子并发规约蕴含线性化。

分离逻辑中带有抽象谓词的规约直观上限制了客户端与库之间的调用方式,即规定了二者交互迹上的协议,但这一直觉此前缺乏形式化。本文将其形式化,并给出从抽象分离逻辑规约推导交互迹“自由定理”的一般方法,展示多个例子。特别地,作者证明:并发模块操作的逻辑原子(logically atomic)并发分离逻辑规约蕴含该操作是可线性化的(linearizable)。所有结果均在 Coq 证明助手内、基于高阶并发分离逻辑框架 Iris 机械化验证。

问题
分离逻辑抽象谓词规约所隐含的客户端-库交互协议尚未被形式化,如何从中推导关于交互迹的“自由定理”并用于并发正确性推理。
方法
把分离逻辑规约视为对交互迹的约束并加以形式化,从规约推导自由定理,并以逻辑原子并发分离逻辑规约证明并发模块操作的线性化。
评估
通过多个自由定理实例展示该方法,并在 Coq 证明助手中基于 Iris 框架机械化验证全部结果。
原文摘要(Abstract)

Separation logic specifications with abstract predicates intuitively enforce a discipline that constrains when and how calls may be made between a client and a library. Thus a separation logic specification of a library intuitively enforces a protocol on the trace of interactions between a client and the library. We show how to formalize this intuition and demonstrate how to derive "free theorems" about such interaction traces from abstract separation logic specifications. We present several examples of free theorems. In particular, we prove that a so-called logically atomic concurrent separation logic specification of a concurrent module operation implies that the operation is linearizable. All the results presented in this paper have been mechanized and formally proved in the Coq proof assistant using the Iris higher-order concurrent separation logic framework.

链接与引用

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

BibTeX
@article{paperbot1135,
  title = {Theorems for free from separation logic specifications},
  author = {Lars Birkedal and Thomas Dinsdale-Young and Armaël Guéneau and Guilhem Jaber and Kasper Svendsen and Nikos Tzevelekos},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {ICFP},
  year = {2021},
  doi = {10.1145/3473586}
}