Perfect Model Checking via Unfold/Fold Transformations

  • Alberto Pettorossi
  • Maurizio Proietti
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1861)


We show how unfold/fold program transformation techniques may be used for proving that a closed first order formula holds in the perfect model of a logic program with locally stratified negation. We present a program transformation strategy which is a decision procedure for some given classes of programs and formulas.


Logic Program Transformation Rule Predicate Symbol Perfect Model Program Transformation 
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.
    K. R. Apt and R. N. Bol. Logic programming and negation: A survey. Journal of Logic Programming, 19,20:9–71, 1994.CrossRefMathSciNetGoogle Scholar
  2. 2.
    R.S. Boyer and J.S. Moore. A Computational Logic. Academic Press, New York, 1979.zbMATHGoogle Scholar
  3. 3.
    S. Brass and J. Dix. Semantics of (disjunctive) logic programs based on partial evaluation. Journal of Logic Programming, 40:1–46, 1999.zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    R. M. Burstall and J. Darlington. A transformation system for developing recursive programs. JACM, 24(1):44–67, January 1977.Google Scholar
  5. 5.
    W. Chen and D. S. Warren. Tabled evaluation with delaying for general logic programs. JACM, 43(1), 1996.Google Scholar
  6. 6.
    K. L. Clark. Negation as failure. In H. Gallaire and J. Minker (eds.) Logic and Data Bases, 293–322. Plenum Press, New York, 1978.Google Scholar
  7. 7.
    H. Comon and R. Nieuwenhuis. Induction = I-axiomatization + first-order consistency. Information and Computation. (To appear).Google Scholar
  8. 8.
    B. Courcelle. Equivalences and Transformations of Regular Systems-Applications to Recursive Program Schemes and Grammars. Theo. Comp. Sci., 42:1–122, 1986.zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    E. A. Emerson. Temporal and modal logic. In J. van Leuveen (ed.) Handbook of Theoretical Computer Science, volume B, 997–1072. Elsevier, 1990.Google Scholar
  10. 10.
    J. Engelfriet. Tree Automata and Tree Grammars. DAIMI FN-10, Department of Computer Science, University of Aarhus, Denmark, April 1975.Google Scholar
  11. 11.
    L. Kott. Unfold/fold program transformation. In M. Nivat and J.C. Reynolds (eds.) Algebraic Methods in Semantics, 411–434. Cambridge University Press, 1985.Google Scholar
  12. 12.
    J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987. 2nd Ed.Google Scholar
  13. 13.
    A. Pettorossi and M. Proietti. Synthesis and transformation of logic programs using unfold/fold proofs. Journal of Logic Programming, 41(2&3):197–230, 1999.zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    M. Proietti and A. Pettorossi. Unfolding-definition-folding, in this order, for avoiding unnecessary variables in logic programs. Theo. Comp. Sci., 142(1):89–124, 1995.zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    T. C. Przymusinski. On the declarative and procedural semantics of logic programs. Journal of Automated Reasoning, 5:167–205, 1989.zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    M. O. Rabin. Decidability of second-order theories and automata on infinite trees. Transactions of the American Mathematical Society, 141:1–34, July 1969.Google Scholar
  17. 17.
    A. Roychoudhury, K. Narayan Kumar, C.R. Ramakrishnan, I.V. Ramakrishnan, and S. A. Smolka. Verification of parametrized systems using logic program transformations. In Proc. TACAS 2000, LNCS 1785, 172–187. Springer, 2000.Google Scholar
  18. 18.
    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, 143–154. Springer, 1997.Google Scholar
  19. 19.
    H. Seki. Unfold/fold transformation of stratified programs. Theo. Comp. Sci., 86:107–139, 1991.zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    H. Tamaki and T. Sato. Unfold/fold transformation of logic programs. In Proceedings of ICLP’84, 127–138. Uppsala University, Sweden, 1984.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Alberto Pettorossi
    • 1
  • Maurizio Proietti
    • 2
  1. 1.DISPUniversity of Roma Tor VergataRomaItaly
  2. 2.IASI-CNRRomaItaly

Personalised recommendations