Abstract
We present an extended framework for unfold/fold transformation of stratified logic programs. We extend our previous transformation system which contains, among others, negative unfolding with a new application condition, by introducing extended negative unfolding. The application of extended negative unfolding allows an unfolding clause to have existential variables in its body, while conventional negative unfolding does not. Moreover, we complement our previous transformation system with another two transformation rules, simultaneous folding and negative folding. The correctness of the extended transformation system with these three rules is shown in the sense of the perfect model semantics. We also examine the use of simultaneous folding for proving properties of programs in literature. We show by examples that our unfold/fold transformation system with extended negative unfolding, when used together with Lloyd-Topor transformation, can be used for verifying recursively defined properties of programs. The example illustrated in the paper shows that, although such properties are provable by using simultaneous folding, our inductive proof method can solve them in a simpler and more intuitive manner.
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
Aravindan, C., Dung, P.M.: On the Correctness of Unfold/fold Transformation of Normal and Extended Logic Programs. J. Logic Programming 24(3), 295–322 (1995)
Fioravanti, F., Pettorossi, A., Proietti, M.: Transformation Rules for Locally Stratified Constraint Logic Programs. In: Bruynooghe, M., Lau, K.-K. (eds.) Program Development in Computational Logic. LNCS, vol. 3049, pp. 291–339. Springer, Heidelberg (2004)
Gergatsoulis, M., Katzouraki, M.: Unfold/Fold Transformations For Definite Clause Programs. In: Penjam, J. (ed.) PLILP 1994. LNCS, vol. 844, pp. 340–354. Springer, Heidelberg (1994)
Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)
Pettorossi, A., Proietti, M.: Transformation of Logic Programs: Foundations and Techniques. J. Logic Programming 19(20), 261–320 (1994)
Pettorossi, A., Proietti, M.: Perfect model checking via unfold/Fold transformations. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 613–628. Springer, Heidelberg (2000)
Pettorossi, A., Proietti, M., Senni, V.: Deciding Full Branching Time Logic by Program Transformations. In: De Schreye, D. (ed.) LOPSTR 2009. LNCS, vol. 6037, pp. 5–21. Springer, Heidelberg (2010)
Przymusinski, T.C.: On the Declarative and Procedural Semantics of Logic Programs. J. Automated Reasoning 5(2), 167–205 (1989)
Roychoudhury, A., Narayan Kumar, K., Ramakrishnan, C.R., Ramakrishnan, I.V.: Beyond Tamaki-Sato Style Unfold/fold Transformations for Normal Logic Programs. Int. J. Foundations of Computer Science 13(3), 387–403 (2002)
Roychoudhury, A., Narayan Kumar, K., Ramakrishnan, C.R., Ramakrishnan, I.V.: An Unfold/fold Transformation Framework for Definite Logic Programs. ACM Trans. on Programming Languages and Systems 26(3), 464–509 (2004)
Seki, H.: On Negative Unfolding in the Answer Set Semantics. In: Hanus, M. (ed.) LOPSTR 2008. LNCS, vol. 5438, pp. 168–184. Springer, Heidelberg (2009)
Seki, H.: On Inductive and Coinductive Proofs via Unfold/fold Transformations. In: De Schreye, D. (ed.) LOPSTR 2009. LNCS, vol. 6037, pp. 82–96. Springer, Heidelberg (2010)
Tamaki, H., Sato, T.: Unfold/Fold Transformation of Logic Programs. In: Proc. 2nd Int. Conf. on Logic Programming, pp. 127–138 (1984)
Tamaki, H. and Sato, T., A Generalized Correctness Proof of the Unfold/Fold Logic Program Transformation, Technical Report, No. 86-4, Ibaraki Univ. (1986)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Seki, H. (2011). On Inductive Proofs by Extended Unfold/Fold Transformation Rules. In: Alpuente, M. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2010. Lecture Notes in Computer Science, vol 6564. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20551-4_8
Download citation
DOI: https://doi.org/10.1007/978-3-642-20551-4_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-20550-7
Online ISBN: 978-3-642-20551-4
eBook Packages: Computer ScienceComputer Science (R0)