Constraint specialisation in Horn clause verification

Bishoksan Kafle, John Patrick Gallagher

Research output: Contribution to journalJournal articleResearchpeer-review


We present a method for specialising the constraints in constrained Horn clauses with respect to a goal. We use abstract interpretation to compute a model of a query–answer transformed version of a given set of clauses and a goal. The constraints from the model are then used to compute a specialised version of each clause. The effect is to propagate the constraints from the goal top-down and propagate answer constraints bottom-up. The specialisation procedure can be repeated to yield further specialisation. The approach is independent of the abstract domain and the constraint theory underlying the clauses. Experimental results on verification problems show that this is an effective transformation, both in our own verification tools (based on a convex polyhedra analyser) and as a pre-processor to other Horn clause verification tools.
Original languageEnglish
JournalScience of Computer Programming
Pages (from-to)125-140
Publication statusPublished - 1 Apr 2017


  • Constraint specialisation
  • Query–answer transformation
  • Program verification
  • program analysis
  • Abstract Interpretation

Cite this