Constrained Horn clauses
Fragment of first-order logic
From Wikipedia, the free encyclopedia
Constrained Horn clauses (CHCs) model a fragment of first-order logic with applications to program verification and synthesis. They are named after the general Horn clause, which in turn is named after logician Alfred Horn. Constrained Horn clauses, specifically, can be seen as a form of constraint logic programming.[1]
Definition
A constrained Horn clause is a formula of the form
where is a constraint in some first-order theory, are predicates, and are universally-quantified variables. The addition of constraint makes it a generalization of the plain Horn clause.
Decidability
The satisfiability of constrained Horn clauses with constraints from linear integer arithmetic is undecidable.[2]