On Inductive Proofs by Extended Unfold/Fold Transformation Rules

  • Hirohisa Seki
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6564)


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.


Logic Program Free Variable Transformation System Transformation Rule Predicate Symbol 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)CrossRefzbMATHGoogle Scholar
  5. 5.
    Pettorossi, A., Proietti, M.: Transformation of Logic Programs: Foundations and Techniques. J. Logic Programming 19(20), 261–320 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    Przymusinski, T.C.: On the Declarative and Procedural Semantics of Logic Programs. J. Automated Reasoning 5(2), 167–205 (1989)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    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)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    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)CrossRefzbMATHGoogle Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    Tamaki, H., Sato, T.: Unfold/Fold Transformation of Logic Programs. In: Proc. 2nd Int. Conf. on Logic Programming, pp. 127–138 (1984)Google Scholar
  14. 14.
    Tamaki, H. and Sato, T., A Generalized Correctness Proof of the Unfold/Fold Logic Program Transformation, Technical Report, No. 86-4, Ibaraki Univ. (1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Hirohisa Seki
    • 1
  1. 1.Dept. of Computer ScienceNagoya Inst. of TechnologyShowa-kuJapan

Personalised recommendations