Lemma Generation for Horn Clause Satisfiability: A Preliminary Study
Emanuele De Angelis (DEC, University "G. d'Annunzio" of, Chieti-Pescara, Italy), Fabio Fioravanti (DEC, University "G. d'Annunzio" of, Chieti-Pescara, Italy), Alberto Pettorossi (DICII, University of Roma Tor, Vergata, Italy), Maurizio Proietti (CNR-IASI, Rome, Italy)

TL;DR
This paper explores methods for generating lemmas during the transformation of constrained Horn clauses to improve satisfiability checking of inductively defined structures, enhancing verification techniques.
Contribution
It introduces a novel approach for lemma generation using difference predicates and auxiliary queries to facilitate clause transformation and satisfiability proofs.
Findings
Difference predicates can serve as lemmata during clause transformation.
Auxiliary queries can replace lemmata when difference predicates are infeasible.
The approach improves the handling of inductively defined data structures in CHC satisfiability.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
