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' : \tau$, which states that a program $e$ refines a program $e'$ at type $\tau$. 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.


翻译:我们提出了一个新版本的ReLOC: 用于证明高阶状态、 精制等同货币、 多形态和递归型类型的程序精细的关联分离逻辑。 ReLOC的核心是其精细判断 $e\ precsim e' :\ tau$, 它表明一个方案用美元来完善一个以美元为单位的程式。 ReLOC 提供了类型引导结构规则和象征性执行规则, 用于调整判断的分解风格, 而先前关于高阶状态、 精制语言的精细工作, 此类证据是通过在模型中将判断运用到其定义中来进行的。 ReLOC的抽象证据规则使得它更容易地执行精细化证据, 并使我们能够将逻辑原子规格概念与关系案例(我们称之为逻辑上的原子关系规范)。 我们把ReLOC建在Iris 框架之上, 用于在 Coq 的分解逻辑上, 使我们能够利用Iris的特性来证明ReLOC 的精准性, 将逻辑推理顺逻辑推理, 使ROC 的精准性推理算, 使LOC 的精炼过程能够推我。

0
下载
关闭预览

相关内容

GitHub 发布的文本编辑器。
【干货书】机器人元素Elements of Robotics ,311页pdf
专知会员服务
34+阅读 · 2021年4月16日
模型优化基础,Sayak Paul,67页ppt
专知会员服务
74+阅读 · 2020年6月8日
强化学习最新教程,17页pdf
专知会员服务
168+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
无监督元学习表示学习
CreateAMind
26+阅读 · 2019年1月4日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【干货】2019年国际学术会议资讯 (含截稿日期)
中国自动化学会
9+阅读 · 2018年11月5日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
如何编写一个拼写纠错器?
Python开发者
4+阅读 · 2017年11月6日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Arxiv
0+阅读 · 2021年9月21日
Inductive Relation Prediction by Subgraph Reasoning
Arxiv
11+阅读 · 2020年2月12日
Arxiv
3+阅读 · 2019年11月28日
Logic Rules Powered Knowledge Graph Embedding
Arxiv
7+阅读 · 2019年3月9日
VIP会员
相关VIP内容
【干货书】机器人元素Elements of Robotics ,311页pdf
专知会员服务
34+阅读 · 2021年4月16日
模型优化基础,Sayak Paul,67页ppt
专知会员服务
74+阅读 · 2020年6月8日
强化学习最新教程,17页pdf
专知会员服务
168+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
无监督元学习表示学习
CreateAMind
26+阅读 · 2019年1月4日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【干货】2019年国际学术会议资讯 (含截稿日期)
中国自动化学会
9+阅读 · 2018年11月5日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
如何编写一个拼写纠错器?
Python开发者
4+阅读 · 2017年11月6日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Top
微信扫码咨询专知VIP会员