Solving Horn Clauses on Inductive Data Types Without Induction
Emanuele De Angelis (1), Fabio Fioravanti (1), Alberto Pettorossi (2),, Maurizio Proietti (3) ((1) DEC, University G. D'Annunzio of Chieti-Pescara,, Pescara, Italy, (2) DICII, University of Rome Tor Vergata, Roma, Italy, (3), CNR-IASI, Roma, Italy)

TL;DR
This paper introduces a transformation method to verify satisfiability of constrained Horn clauses involving inductive data structures by reducing them to simpler forms, improving solver effectiveness without using induction.
Contribution
The authors propose a novel transformation technique that removes inductive data structures from CHCs, enabling satisfiability checking through simpler theories and enhancing solver performance.
Findings
Transformation greatly improves Z3 solver effectiveness.
Method is competitive with inductive CHC solvers.
Algorithm succeeds on a specific class of clauses.
Abstract
We address the problem of verifying the satisfiability of Constrained Horn Clauses (CHCs) based on theories of inductively defined data structures, such as lists and trees. We propose a transformation technique whose objective is the removal of these data structures from CHCs, hence reducing their satisfiability to a satisfiability problem for CHCs on integers and booleans. We propose a transformation algorithm and identify a class of clauses where it always succeeds. We also consider an extension of that algorithm, which combines clause transformation with reasoning on integer constraints. Via an experimental evaluation we show that our technique greatly improves the effectiveness of applying the Z3 solver to CHCs. We also show that our verification technique based on CHC transformation followed by CHC solving, is competitive with respect to CHC solvers extended with induction. This…
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.
