Fast, Flexible, and Minimal CTL Synthesis via SMT
CTL synthesis  is a long-standing problem with applications to synthesising synchronization protocols and concurrent programs. We show how to formulate CTL model checking in terms of “monotonic theories”, enabling us to use the SAT Modulo Monotonic Theories (SMMT)  framework to build an efficient SAT-modulo-CTL solver. This yields a powerful procedure for CTL synthesis, which is not only faster than previous techniques from the literature, but also scales to larger and more difficult formulas. Additionally, because it is a constraint-based approach, it can be easily extended with further constraints to guide the synthesis. Moreover, our approach is efficient at producing minimal Kripke structures on common CTL synthesis benchmarks.
This work was supported in part by a grant from the Natural Sciences and Engineering Research Council of Canada. We also thank Javier Esparza for his encouragement and helpful advice.
- 1.Attie, P., Cherri, A., Dak Al Bab, K., Sakr, M., Saklawi, J.: Model and program repair via SAT solving. In: Formal Methods and Models for Codesign (MEMOCODE), pp. 148–157. ACM/IEEE (2015)Google Scholar
- 5.Bayless, S., Bayless, N., Hoos, H.H., Hu, A.J.: SAT modulo monotonic theories. In: Twenty-Ninth AAAI Conference on Artificial Intelligence (2015)Google Scholar
- 12.Emerson, E.A., Halpern, J.Y.: Decision procedures and expressiveness in the temporal logic of branching time. In: Symposium on Theory of Computing, STOC 1982, pp. 169–180. ACM (1982)Google Scholar