CTL* Verification and Synthesis using Existential Horn Clauses
Mishel Carelli, Orna Grumberg
TL;DR
This work develops a translation-based framework that verifies and synthesizes infinite-state reactive programs against $CTL^*$ specifications by translating problems into Existential Horn Clauses and solving with the $E$-HSF solver. The core contribution is the translation system $\textsf{Trans}$, which converts a program $P$ and a $CTL^*$ formula $\phi$ into a satisfiability problem over $EHC$s such that satisfiability corresponds to $P\models\phi$, and a synthesis approach that fills holes in partial programs by introducing uninterpreted predicates and reducing synthesis to $EHC$ satisfiability. The paper proves soundness and relative completeness for both verification and synthesis, and demonstrates practical applicability through case studies on robot systems and bank–client interactions. The results enable verification and synthesis for infinite-state systems with first-order $CTL^*$ specifications, independent of the underlying $EHC$ solver, and suggest pathways for integrating with broader formalisms like pfwCSP in future work.
Abstract
This work proposes a novel approach for automatic verification and synthesis of infinite-state reactive programs with respect to ${CTL}^*$ specifications, based on translation to Existential Horn Clauses (EHCs). $CTL^*$ is a powerful temporal logic, which subsumes the temporal logics LTL and CTL, both widely used in specification, verification, and synthesis of complex systems. EHCs with its solver E-HSF, is an extension of Constrained Horn Clauses, which includes existential quantification as well as the power of handling well-foundedness. We develop the translation system \textit{Trans}, which given a verification problem consisting of a program $P$ and a specification $φ$, builds a set of EHCs which is satisfiable iff $P$ satisfies $φ$. We also develop a synthesis algorithm that given a program with holes in conditions and assignments, fills the holes so that the synthesized program satisfies the given $CTL^*$ specification. We prove that our verification and synthesis algorithms are both sound and relative complete. Finally, we present case studies to demonstrate the applicability of our algorithms for $CTL^*$ verification and synthesis.
