Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. R. Apt and R. N. Bol. Logic programming and negation: A survey. Journal of Logic Programming, 19, 20:9–71, 1994.
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.
D. Basin and N. Klarlund. Automata based symbolic reasoning in hardware verification. The Journal of Formal Methods in Systems Design, 13(3):255–288, 1998.
J. R. Büchi. Weak second order arithmetic and and finite automata. Z. Maath Logik Grundlagen Math, 6:66–92, 1960.
W. Chen and D. S. Warren. Tabled evaluation with delaying for general logic programs. JACM, 43(1), 1996.
G. Delzanno and A. Podelski. Model checking in CLP. In R. Cleaveland (ed.), Proc. TACAS’99, LNCS 1579, pp. 223–239. Springer, 1999.
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.
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.
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.
J. Jaffar and M. Maher. Constraint logic programming: A survey. Journal of Logic Programming, 19/20:503–581, 1994.
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.
L. Lamport. A new solution of Dijkstra’s concurrent programming problem. CACM, 17(8): 453–455, 1974.
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.
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, 1987.
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.
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.
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.
A. Pettorossi, M. Proietti, and S. Renault. Reducing nondeterminism while specializing logic programs. In Proc. 24-th POPL, pp. 414–427. ACM Press, 1997.
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.
A. Roychoudhury and I.V. Ramakrishnan. Automated inductive verification of parameterized protocols. In Proc. CAV 2001, pp. 25–37, 2001.
K. Sagonas, T. Swift, D. S. Warren, J. Freire, P. Rao, B. Cui, and E. Johnson. The XSB system, version 2.2., 2000.
J.W. Thatcher and J.B. Wright. Generalized finite automata with an application to a decision problem of second-order logic. Mathematical System Theory, 2:57–82, 1968.
The MAP group. The MAP transformation system. Available from http://www.iasi.rm.cnr.it/~proietti/system.html, 1995–2002.
W. Thomas. Languages, automata, and logic. In G. Rozenberg and A. Salomaa (eds.), Handbook of Formal Languages, volume 3, pp. 389–455. Springer, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fioravanti, F., Pettorossi, A., Proietti, M. (2003). Combining Logic Programs and Monadic Second Order Logics by Program Transformation. In: Leuschel, M. (eds) Logic Based Program Synthesis and Transformation. LOPSTR 2002. Lecture Notes in Computer Science, vol 2664. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45013-0_14
Download citation
DOI: https://doi.org/10.1007/3-540-45013-0_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40438-5
Online ISBN: 978-3-540-45013-9
eBook Packages: Springer Book Archive