Back to Search Start Over

Lemma Generation for Horn Clause Satisfiability: A Preliminary Study

Authors :
Fabio Fioravanti
Emanuele De Angelis
Maurizio Proietti
Alberto Pettorossi
Source :
Electronic Proceedings in Theoretical Computer Science, Vol 299, Iss Proc. VPT 2019, Pp 4-18 (2019), 7th International Workshop on Verification and Program Transformation (VPT 2019), pp. 4–18, Genova, 02/04/2019, info:cnr-pdr/source/autori:De Angelis, Emanuele; Fioravanti, Fabio; Pettorossi, Alberto; Proietti, Maurizio/congresso_nome:7th International Workshop on Verification and Program Transformation (VPT 2019)/congresso_luogo:Genova/congresso_data:02%2F04%2F2019/anno:2019/pagina_da:4/pagina_a:18/intervallo_pagine:4–18, VPT@Programming
Publication Year :
2019
Publisher :
arXiv, 2019.

Abstract

It is known that the verification of imperative, functional, and logic programs can be reduced to the satisfiability of constrained Horn clauses (CHCs), and this satisfiability check can be performed by using CHC solvers, such as Eldarica and Z3. These solvers perform well when they act on simple constraint theories, such as Linear Integer Arithmetic and the theory of Booleans, but their efficacy is very much reduced when the clauses refer to constraints on inductively defined structures, such as lists or trees. Recently, we have presented a transformation technique for eliminating those inductively defined data structures, and hence avoiding the need for incorporating induction principles into CHC solvers. However, this technique may fail when the transformation requires the use of lemmata whose generation needs ingenuity. In this paper we show, through an example, how during the process of transforming CHCs for eliminating inductively defined structures one can introduce suitable predicates, called difference predicates, whose definitions correspond to the lemmata to be introduced. Through a second example, we show that, whenever difference predicates cannot be introduced, we can introduce, instead, auxiliary queries which also correspond to lemmata, and the proof of these lemmata can be done by showing the satisfiability of those queries.<br />Comment: In Proceedings VPT 2019, arXiv:1908.06723

Details

Database :
OpenAIRE
Journal :
Electronic Proceedings in Theoretical Computer Science, Vol 299, Iss Proc. VPT 2019, Pp 4-18 (2019), 7th International Workshop on Verification and Program Transformation (VPT 2019), pp. 4–18, Genova, 02/04/2019, info:cnr-pdr/source/autori:De Angelis, Emanuele; Fioravanti, Fabio; Pettorossi, Alberto; Proietti, Maurizio/congresso_nome:7th International Workshop on Verification and Program Transformation (VPT 2019)/congresso_luogo:Genova/congresso_data:02%2F04%2F2019/anno:2019/pagina_da:4/pagina_a:18/intervallo_pagine:4–18, VPT@Programming
Accession number :
edsair.doi.dedup.....9eb1a6491931d11ebb10b80a6d820a7a
Full Text :
https://doi.org/10.48550/arxiv.1908.07188