Convex polyhedral abstractions, specialisation and property-based predicate splitting in Horn clause verification

Bishoksan Kafle, John Patrick Gallagher

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review


We present an approach to constrained Horn clause (CHC) verification combining three techniques: abstract interpretation over a domain of convex polyhedra, specialisation of the constraints in CHCs using abstract interpretation of query-answer transformed clauses, and refinement by splitting predicates. The purpose of the work is to investigate how analysis and transformation tools developed for constraint logic programs (CLP) can be applied to the Horn clause verification problem. Abstract interpretation over convex polyhedra is capable of deriving sophisticated invariants and when used in conjunction with specialisation for propagating constraints it can frequently solve challenging verification problems. This is a contribution in itself, but refinement is needed when it fails, and the question of how to refine convex polyhedral analyses has not been studied much. We present a refinement technique based on interpolants derived from a counterexample trace; these are used to drive a property-based specialisation that splits predicates, leading in turn to more precise convex polyhedral analyses. The process of specialisation, analysis and splitting can be repeated, in a manner similar to the CEGAR and iterative specialisation approaches.
Original languageEnglish
Title of host publicationProceedings First Workshop on Horn Clauses for Verification and Synthesis
EditorsNikolaj Bjørner, Fabio Fioravanti, Andrey Rybalchenko, Valerio Senni
Number of pages15
Publication date2 Dec 2014
Article number7
Publication statusPublished - 2 Dec 2014
EventFirst Workshop on Horn Clauses for Verification and Synthesis - Vienna, Austria
Duration: 17 Jul 201417 Jul 2014


ConferenceFirst Workshop on Horn Clauses for Verification and Synthesis


  • constrained Horn clause
  • convex polyhedral abstraction
  • specialisation

Cite this