论文标题

重新加载:一种机械化的关系逻辑,用于细粒并发性和逻辑原理

ReLoC Reloaded: A Mechanized Relational Logic for Fine-Grained Concurrency and Logical Atomicity

论文作者

Frumin, Dan, Krebbers, Robbert, Birkedal, Lars

论文摘要

我们提出了一个新版本的Reloc:一种关系分离逻辑,用于证明具有高阶状态,细粒并发性,多态性和递归类型的程序的改进。 ROBOC的核心是其完善判决$ e \ precsim e':τ$,它指出程序$ e $在type $τ$上完善了程序$ e'$。 Reloc以分离的方式提供了指导的结构规则和符号执行规则,以操纵判断,而在先前对具有高阶状态和并发语言的语言的改进的工作中,此类证据是通过将判断中的判断展开到模型中的定义中来实现的。 Reloc的抽象证明规则使进行改进证明变得更加简单,并使我们能够将逻辑原子规范的概念推广到关系案例,我们称之为逻辑原子关系规格。 我们在虹膜框架的顶部建立了重点的重置,以便在COQ中进行分离逻辑,从而使我们能够利用虹膜的特征证明了Reloc的合理性,并在Reloc中进行了改进证明。我们在ROSOC中实施了互动证明的策略,使我们能够在COQ中进行几个案例研究,从而证明了Reloc的实用性。 Reloc Reloaded扩展了Reloc(LICS'18),具有各种技术改进,新的COQ机械化以及对Iris预言变量的支持。后者允许我们执行涉及有关该计划未来的推理的改进证明。我们还根据Svendsen等人的HOCAP模式扩展了Reloc的逻辑原子关系规范的概念。

We present a new version of ReLoC: a relational separation logic for proving refinements of programs with higher-order state, fine-grained concurrency, polymorphism and recursive types. The core of ReLoC is its refinement judgment $e \precsim e' : τ$, which states that a program $e$ refines a program $e'$ at type $τ$. ReLoC provides type-directed structural rules and symbolic execution rules in separation-logic style for manipulating the judgment, whereas in prior work on refinements for languages with higher-order state and concurrency, such proofs were carried out by unfolding the judgment into its definition in the model. ReLoC's abstract proof rules make it simpler to carry out refinement proofs, and enable us to generalize the notion of logically atomic specifications to the relational case, which we call logically atomic relational specifications. We build ReLoC on top of the Iris framework for separation logic in Coq, allowing us to leverage features of Iris to prove soundness of ReLoC, and to carry out refinement proofs in ReLoC. We implement tactics for interactive proofs in ReLoC, allowing us to mechanize several case studies in Coq, and thereby demonstrate the practicality of ReLoC. ReLoC Reloaded extends ReLoC (LICS'18) with various technical improvements, a new Coq mechanization, and support for Iris's prophecy variables. The latter allows us to carry out refinement proofs that involve reasoning about the program's future. We also expand ReLoC's notion of logically atomic relational specifications with a new flavor based on the HOCAP pattern by Svendsen et al.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源