Combining Logic Programs and Monadic Second Order Logics by Program Transformation
We present a program synthesis method based on unfold/fold transformation rules which can be used for deriving terminating definite logic programs from formulas of the Weak Monadic Second Order theory of one successor (WS1S). This synthesis method can also be used as a proof method which is a decision procedure for closed formulas of WS1S. We apply our synthesis method for translating CLP(WS1S) programs into logic programs and we use it also as a proof method for verifying safety properties of infinite state systems.
KeywordsModel Check Logic Program Decision Procedure Transformation Rule Order Logic
Unable to display preview. Download preview PDF.
- 2.D. Basin and S. Friedrich. Combining WS1S and HOL. In D.M. Gabbay and M. de Rijke (eds.), Frontiers of Combining Systems 2, volume 7 of Studies in Logic and Computation, pp. 39–56. Research Studies Press/Wiley, 2000.Google Scholar
- 5.W. Chen and D. S. Warren. Tabled evaluation with delaying for general logic programs. JACM, 43(1), 1996.Google Scholar
- 6.G. Delzanno and A. Podelski. Model checking in CLP. In R. Cleaveland (ed.), Proc. TACAS’99, LNCS 1579, pp. 223–239. Springer, 1999.Google Scholar
- 7.F. Fioravanti, A. Pettorossi, and M. Proietti. Verification of sets of infinite state systems using program transformation. In A. Pettorossi (ed.), Proc. LOPSTR 2001, LNCS 2372, pp. 111–128. Springer, 2002.Google Scholar
- 8.L. Fribourg and H. Olsén. Proving safety properties of infinite state systems by compilation into Presburger arithmetic. In Proc. CONCUR’ 97, LNCS 1243, pp. 96–107. Springer, 1997.Google Scholar
- 9.J. G. Henriksen, J. L. Jensen, M. E. Jørgensen, N. Klarlund, R. Paige, T. Rauhe, and A. Sandholm. Mona: Monadic second-order logic in practice. In E. Brinksma et al. (eds.), Proc. TACAS’ 95, LNCS 1019, pp. 89–110. Springer, 1996.Google Scholar
- 11.N. Klarlund, M. Nielsen, and K. Sunesen. Automated logical verification based on trace abstraction. In Proc. 15th ACM Symposium on Principles of Distributed Computing, pp. 101–110. ACM, 1996.Google Scholar
- 13.M. Leuschel and T. Massart. Infinite state model checking by abstract interpretation and program specialization. In A. Bossi (ed.), Proc. LOPSTR’ 99, LNCS 1817, pp. 63–82. Springer, 1999.Google Scholar
- 15.U. Nilsson and J. Lübcke. Constraint logic programming for local and symbolic model-checking. In J. W. Lloyd et al. (eds.), Proc. CL’2000, LNAI 1861, pp. 384–398, 2000.Google Scholar
- 16.A. Pettorossi and M. Proietti. Perfect model checking via unfold/fold transformations. In J. W. Lloyd et al. (eds.), Proc. CL’2000, LNAI 1861, pp. 613–628. Springer, 2000.Google Scholar
- 17.A. Pettorossi and M. Proietti. Program Derivation = Rules + Strategies. In A. Kakas and F. Sadri (eds.), Computational Logic: Logic Programming and Beyond (in honour of Bob Kowalski, Part I), LNCS 2407, pp. 273–309. Springer, 2002.Google Scholar
- 18.A. Pettorossi, M. Proietti, and S. Renault. Reducing nondeterminism while specializing logic programs. In Proc. 24-th POPL, pp. 414–427. ACM Press, 1997.Google Scholar
- 19.Y. S. Ramakrishna, C. R. Ramakrishnan, I. V. Ramakrishnan, S. A. Smolka, T. Swift, and D. S. Warren. Efficient model checking using tabled resolution. In Proc. CAV’ 97, LNCS 1254, pp. 143–154. Springer, 1997.Google Scholar
- 20.A. Roychoudhury and I.V. Ramakrishnan. Automated inductive verification of parameterized protocols. In Proc. CAV 2001, pp. 25–37, 2001.Google Scholar
- 21.K. Sagonas, T. Swift, D. S. Warren, J. Freire, P. Rao, B. Cui, and E. Johnson. The XSB system, version 2.2., 2000.Google Scholar
- 23.The MAP group. The MAP transformation system. Available from http://www.iasi.rm.cnr.it/~proietti/system.html, 1995–2002.
- 24.W. Thomas. Languages, automata, and logic. In G. Rozenberg and A. Salomaa (eds.), Handbook of Formal Languages, volume 3, pp. 389–455. Springer, 1997.Google Scholar