论文标题

使用差异谓词从约束的角子句中删除代数数据类型

Removing Algebraic Data Types from Constrained Horn Clauses Using Difference Predicates

论文作者

De Angelis, Emanuele, Fioravanti, Fabio, Pettorossi, Alberto, Proietti, Maurizio

论文摘要

我们解决了用代数数据类型(ADT)(例如列表和树)证明受约束角条款(CHC)满意度的问题。我们提出了一种新技术,用于将ADT的CHC转换为CHC,其中仅在基本类型(例如整数和布尔值)上定义了谓词。因此,我们的技术避免了在满意度证明期间明确使用归纳证明规则。 ADT去除的先前技术的主要扩展是一种新的变换规则,称为差分替换,这使我们能够引入与对相对于诱导性证明时通常需要的诱饵相对应的辅助谓词。我们提出了一种使用新规则的算法,以及传统的折叠/展开转换规则,以自动删除ADT。我们证明,如果转换条款的集合令人满意,那么原始从句的集合也是如此。通过实验评估,我们表明,差异替换规则的使用显着提高了ADT去除的有效性,并且我们表明,基于转换的方法相对于一项良好的技术,该技术具有启发性的CVC4求解器。

We address the problem of proving the satisfiability of Constrained Horn Clauses (CHCs) with Algebraic Data Types (ADTs), such as lists and trees. We propose a new technique for transforming CHCs with ADTs into CHCs where predicates are defined over basic types, such as integers and booleans, only. Thus, our technique avoids the explicit use of inductive proof rules during satisfiability proofs. The main extension over previous techniques for ADT removal is a new transformation rule, called differential replacement, which allows us to introduce auxiliary predicates corresponding to the lemmas that are often needed when making inductive proofs. We present an algorithm that uses the new rule, together with the traditional folding/unfolding transformation rules, for the automatic removal of ADTs. We prove that if the set of the transformed clauses is satisfiable, then so is the set of the original clauses. By an experimental evaluation, we show that the use of the differential replacement rule significantly improves the effectiveness of ADT removal, and we show that our transformation-based approach is competitive with respect to a well-established technique that extends the CVC4 solver with induction.

扫码加入交流群

加入微信交流群

微信交流群二维码

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