kirancodes.me
To Proof Maintenance & Beyond!

PyCHC: A Framework for Certified Horn Solving and CHC-Based Design

Anna Becchi, Martin Blicha, Rodrigo Otoni, Natasha Sharygina

Abstract

Abstract We present PyCHC , a solver-agnostic framework aimed at systems of constrained Horn clauses (CHC). PyCHC provides intuitive Python APIs to create and manipulate CHC systems programmatically, and solve them using different backend solvers. Furthermore, PyCHC offers a certification pipeline to validate the correctness of results reported by the CHC solvers, via the use of independent satisfiability modulo theories (SMT) solvers and proof checkers. We present our framework’s architecture and features, and demonstrate how it enables rapid prototyping of new CHC-based algorithms and experimentation with novel strategies for cooperative solving. We used PyCHC to validate the results of the Eldarica , Golem , and Z3-Spacer solvers on CHC-COMP benchmarks, finding several issues across different tool versions.

DOI 10.1007/978-3-032-32537-2_13

Related papers