Satisfiability of Constrained Horn Clauses on Algebraic Data Types: A Transformation-based Approach
Emanuele De Angelis (1), Fabio Fioravanti (2), Alberto Pettorossi (3),, Maurizio Proietti (1) ((1) IASI-CNR, Roma, Italy, (2) DEC, University G., D'Annunzio, Pescara, Italy, (3) DICII, University of Rome Tor Vergata, Roma,, Italy)

TL;DR
This paper introduces a novel transformation technique for checking the satisfiability of Constrained Horn Clauses involving algebraic data types by converting them into simpler forms, improving effectiveness and competitiveness.
Contribution
It proposes a new transformation rule called differential replacement for ADT removal, enabling more efficient satisfiability checking without explicit induction rules.
Findings
The new transformation improves ADT removal effectiveness.
The approach is competitive with inductive rule-based tools.
Transformed clauses are satisfiable iff original clauses are satisfiable.
Abstract
We address the problem of checking the satisfiability of Constrained Horn Clauses (CHCs) defined on Algebraic Data Types (ADTs), such as lists and trees. We propose a new technique for transforming CHCs defined on ADTs into CHCs where the arguments of the predicates have only basic types, such as integers and booleans. Thus, our technique avoids, during satisfiability checking, the explicit use of proof rules based on induction over the ADTs. The main extension over previous techniques for ADT removal is a new transformation rule, called differential replacement, which allows us to introduce auxiliary predicates, whose definitions correspond to lemmas that are used when making inductive proofs. We present an algorithm that performs the automatic removal of ADTs by applying the new rule, together with the traditional folding/unfolding rules. We prove that, under suitable hypotheses, 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.
