当前位置: X-MOL 学术arXiv.cs.LO › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
ReLoC Reloaded: A Mechanized Relational Logic for Fine-Grained Concurrency and Logical Atomicity
arXiv - CS - Logic in Computer Science Pub Date : 2020-06-24 , DOI: arxiv-2006.13635
Dan Frumin, Robbert Krebbers, Lars Birkedal

We present a new version of ReLoC: a relational logic for proving refinements of programs in a language with higher-order state, fine-grained concurrency, polymorphism and recursive types. The core of ReLoC is the refinement judgment $e \precsim e' : \tau$, which expresses that a program $e$ refines a program $e'$ at type $\tau$. In contrast to earlier work on refinements for languages with higher-order state and concurrency, ReLoC provides type-directed structural rules and symbolic execution rules for manipulating this judgment, whereas previously, such proofs were carried out by unfolding the judgment into its definition in the model. These more 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 refinements proofs, allowing us to mechanize several case studies, and thereby demonstrate the practicality of ReLoC. ReLoC Reloaded extends our ReLoC logic (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.

中文翻译:

ReLoC 重载:用于细粒度并发和逻辑原子性的机械化关系逻辑

我们提出了 ReLoC 的新版本:一种关系逻辑,用于证明在具有高阶状态、细粒度并发、多态性和递归类型的语言中程序的改进。ReLoC的核心是细化判断$e \precsim e':\tau$,表示程序$e$细化$\tau$类型的程序$e'$。与早期对具有高阶状态和并发性的语言进行细化的工作相比,ReLoC 提供了类型导向的结构规则和符号执行规则来操纵这个判断,而以前,这种证明是通过将判断展开到它的定义中来进行的。模型。这些更抽象的证明规则使执行细化证明变得更简单,并使我们能够将逻辑原子规范的概念推广到关系案例,我们称之为逻辑原子关系规范。我们在 Coq 中分离逻辑的 Iris 框架之上构建 ReLoC,允许我们利用 Iris 的特性来证明 ReLoC 的可靠性,并在 ReLoC 中进行细化证明。我们实施了交互式改进证明的策略,使我们能够机械化几个案例研究,从而证明 ReLoC 的实用性。ReLoC Reloaded 通过各种技术改进、新的 Coq 机械化以及对 Iris 预言变量的支持来扩展我们的 ReLoC 逻辑 (LICS'18)。后者允许我们进行涉及对程序未来进行推理的细化证明。我们还基于 Svendsen 等人的 HOCAP 模式扩展了 ReLoC 的逻辑原子关系规范概念。我们在 Coq 中分离逻辑的 Iris 框架之上构建 ReLoC,允许我们利用 Iris 的特性来证明 ReLoC 的可靠性,并在 ReLoC 中进行细化证明。我们实施了交互式改进证明的策略,使我们能够机械化几个案例研究,从而证明 ReLoC 的实用性。ReLoC Reloaded 通过各种技术改进、新的 Coq 机械化以及对 Iris 预言变量的支持来扩展我们的 ReLoC 逻辑 (LICS'18)。后者允许我们进行涉及对程序未来进行推理的细化证明。我们还基于 Svendsen 等人的 HOCAP 模式扩展了 ReLoC 的逻辑原子关系规范概念。我们在 Coq 中分离逻辑的 Iris 框架之上构建 ReLoC,允许我们利用 Iris 的特性来证明 ReLoC 的可靠性,并在 ReLoC 中进行细化证明。我们实施了交互式改进证明的策略,使我们能够机械化几个案例研究,从而证明 ReLoC 的实用性。ReLoC Reloaded 通过各种技术改进、新的 Coq 机械化以及对 Iris 预言变量的支持来扩展我们的 ReLoC 逻辑 (LICS'18)。后者允许我们进行涉及对程序未来进行推理的细化证明。我们还基于 Svendsen 等人的 HOCAP 模式扩展了 ReLoC 的逻辑原子关系规范概念。允许我们利用 Iris 的特性来证明 ReLoC 的可靠性,并在 ReLoC 中进行细化证明。我们实施了交互式改进证明的策略,使我们能够机械化几个案例研究,从而证明 ReLoC 的实用性。ReLoC Reloaded 通过各种技术改进、新的 Coq 机械化以及对 Iris 预言变量的支持来扩展我们的 ReLoC 逻辑 (LICS'18)。后者允许我们进行涉及对程序未来进行推理的细化证明。我们还基于 Svendsen 等人的 HOCAP 模式扩展了 ReLoC 的逻辑原子关系规范概念。允许我们利用 Iris 的特性来证明 ReLoC 的可靠性,并在 ReLoC 中进行细化证明。我们实施了交互式改进证明的策略,使我们能够机械化几个案例研究,从而证明 ReLoC 的实用性。ReLoC Reloaded 通过各种技术改进、新的 Coq 机械化以及对 Iris 预言变量的支持来扩展我们的 ReLoC 逻辑 (LICS'18)。后者允许我们进行涉及对程序未来进行推理的细化证明。我们还基于 Svendsen 等人的 HOCAP 模式扩展了 ReLoC 的逻辑原子关系规范概念。从而证明 ReLoC 的实用性。ReLoC Reloaded 通过各种技术改进、新的 Coq 机械化以及对 Iris 预言变量的支持来扩展我们的 ReLoC 逻辑 (LICS'18)。后者允许我们进行涉及对程序未来进行推理的细化证明。我们还基于 Svendsen 等人的 HOCAP 模式扩展了 ReLoC 的逻辑原子关系规范概念。从而证明 ReLoC 的实用性。ReLoC Reloaded 通过各种技术改进、新的 Coq 机械化以及对 Iris 预言变量的支持来扩展我们的 ReLoC 逻辑 (LICS'18)。后者允许我们进行涉及对程序未来进行推理的细化证明。我们还基于 Svendsen 等人的 HOCAP 模式扩展了 ReLoC 的逻辑原子关系规范概念。
更新日期:2020-06-25
down
wechat
bug