Cargando…

Removing Algebraic Data Types from Constrained Horn Clauses Using Difference Predicates

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....

Descripción completa

Detalles Bibliográficos
Autores principales: De Angelis, Emanuele, Fioravanti, Fabio, Pettorossi, Alberto, Proietti, Maurizio
Formato: Online Artículo Texto
Lenguaje:English
Publicado: 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7324141/
http://dx.doi.org/10.1007/978-3-030-51074-9_6
_version_ 1783551889054367744
author De Angelis, Emanuele
Fioravanti, Fabio
Pettorossi, Alberto
Proietti, Maurizio
author_facet De Angelis, Emanuele
Fioravanti, Fabio
Pettorossi, Alberto
Proietti, Maurizio
author_sort De Angelis, Emanuele
collection PubMed
description 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 used when making inductive proofs. We present an algorithm that applies the new rule, together with the traditional folding/unfolding 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 new rule significantly improves the effectiveness of ADT removal, and that our approach is competitive with respect to a state-of-the-art tool that extends the CVC4 solver with induction.
format Online
Article
Text
id pubmed-7324141
institution National Center for Biotechnology Information
language English
publishDate 2020
record_format MEDLINE/PubMed
spelling pubmed-73241412020-06-30 Removing Algebraic Data Types from Constrained Horn Clauses Using Difference Predicates De Angelis, Emanuele Fioravanti, Fabio Pettorossi, Alberto Proietti, Maurizio Automated Reasoning Article 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 used when making inductive proofs. We present an algorithm that applies the new rule, together with the traditional folding/unfolding 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 new rule significantly improves the effectiveness of ADT removal, and that our approach is competitive with respect to a state-of-the-art tool that extends the CVC4 solver with induction. 2020-05-30 /pmc/articles/PMC7324141/ http://dx.doi.org/10.1007/978-3-030-51074-9_6 Text en © Springer Nature Switzerland AG 2020 This article is made available via the PMC Open Access Subset for unrestricted research re-use and secondary analysis in any form or by any means with acknowledgement of the original source. These permissions are granted for the duration of the World Health Organization (WHO) declaration of COVID-19 as a global pandemic.
spellingShingle Article
De Angelis, Emanuele
Fioravanti, Fabio
Pettorossi, Alberto
Proietti, Maurizio
Removing Algebraic Data Types from Constrained Horn Clauses Using Difference Predicates
title Removing Algebraic Data Types from Constrained Horn Clauses Using Difference Predicates
title_full Removing Algebraic Data Types from Constrained Horn Clauses Using Difference Predicates
title_fullStr Removing Algebraic Data Types from Constrained Horn Clauses Using Difference Predicates
title_full_unstemmed Removing Algebraic Data Types from Constrained Horn Clauses Using Difference Predicates
title_short Removing Algebraic Data Types from Constrained Horn Clauses Using Difference Predicates
title_sort removing algebraic data types from constrained horn clauses using difference predicates
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7324141/
http://dx.doi.org/10.1007/978-3-030-51074-9_6
work_keys_str_mv AT deangelisemanuele removingalgebraicdatatypesfromconstrainedhornclausesusingdifferencepredicates
AT fioravantifabio removingalgebraicdatatypesfromconstrainedhornclausesusingdifferencepredicates
AT pettorossialberto removingalgebraicdatatypesfromconstrainedhornclausesusingdifferencepredicates
AT proiettimaurizio removingalgebraicdatatypesfromconstrainedhornclausesusingdifferencepredicates