arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2210.00616cs.LO
收藏

一种有效的分离逻辑片段循环蕴涵过程

An Efficient Cyclic Entailment Procedure in a Fragment of Separation Logic

Quang Loc Le, Xuan-Bach D. Le

摘要:

一个有效的蕴涵证明系统对于使用分离逻辑的组合验证是必不可少的。不幸的是,现有的决策程序要么缺乏表达能力,要么效率低下。例如,Smallfoot是一个有效的过程,但只适用于硬连接的列表和树。其他可以支持一般归纳谓词的过程在时间上呈指数级运行,因为它们的证明搜索需要回溯来处理结果中的析取。本文给出了一个在多项式时间内推导一般归纳谓词循环蕴涵证明的判定过程。我们的程序是高效的,不需要回溯;它使用规范化规则,有助于避免在后果中引入析取。此外,我们的可判定片段是足够的表达:它是基于组合谓词,可以捕获广泛的数据结构,包括排序和嵌套的列表段,跳跃列表与快速前进指针,和二叉搜索树。我们已经实现了一个原型工具的建议,并评估它的挑战性问题,从最近的分离逻辑竞争。实验结果证实了所提出的系统的效率。

英文摘要:

An efficient entailment proof system is essential to compositional verification using separation logic. Unfortunately, existing decision procedures are either inexpressive or inefficient. For example, Smallfoot is an efficient procedure but only works with hardwired lists and trees. Other procedures that can support general inductive predicates run exponentially in time as their proof search requires back-tracking to deal with a disjunction in the consequent. This paper presents a decision procedure to derive cyclic entailment proofs for general inductive predicates in polynomial time. Our procedure is efficient and does not require back-tracking; it uses normalisation rules that help avoid the introduction of disjunction in the consequent. Moreover, our decidable fragment is sufficiently expressive: It is based on compositional predicates and can capture a wide range of data structures, including sorted and nested list segments, skip lists with fast forward pointers, and binary search trees. We have implemented the proposal in a prototype tool and evaluated it over challenging problems taken from a recent separation logic competition. The experimental results confirm the efficiency of the proposed system.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑