Advertisement

Generalizing extended execution for normal programs

  • Sophie Renault
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 883)

Abstract

We present a set of inference rules aimed at proving declarative (logical) properties of normal programs. Proofs are goal directed and are performed by means of replacement, simplification and rewriting. This work can be seen as a generalization of Extended Execution [16] which is in turn an extension of the prolog interpreter. We show the soundness of our generalization and discuss its completeness. Two extensive examples are given. We conclude on the relevance of our approach within the general framework of verification.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    K. Apt. Introduction to Logic Programming. In J. Van Leeuven, editor, Handbook of Theoretical Computer Science. North Holland, 1990.Google Scholar
  2. 2.
    A. Bottoni and G.Levi. Computing in the Completion. In Atti dell Ottavo Convegno sulla Programmazione Logica (Gulp), pages 375–389. Mediterranean Press, 1993.Google Scholar
  3. 3.
    A. Bouverot. Comparaison entre la transformation et l'extraction de programmes logiques. PhD thesis, Université Paris VII, 1991.Google Scholar
  4. 4.
    P. Bruscoli, F. Levi, G. Levi, and M. C. Meo. Intensional Negation in Constraint Logic Programs. In Atti dell Ottavo Convegno sulla Programmazione Logica (Gulp), pages 359–373. Mediterranean Press, 1993.Google Scholar
  5. 5.
    K. L. Clark. Negation as Failure. In H. Gallaire and J. Minker, editors, Logic and Databases, pages 293–322. Plenum Press, New York, 1978.Google Scholar
  6. 6.
    A. Cortesi and G. Filé. Graph Properties for Normal Programs. Theoretical Computer Science, 107:277–303, 1993.Google Scholar
  7. 7.
    P. Deransart. Proof Methods of Declarative Properties of Definite Programs. Theoretical Computer Science, 118:99–166, 1993.Google Scholar
  8. 8.
    P. Deransart and G. Ferrand. Proof Method of Partial Correctness and Weak Completeness for Normal Logic Programs. Journal of Logic Programming, 17:265–278, 1993.Google Scholar
  9. 9.
    Y. Deville. A Correctness Definition for Logic Programming. Technical Report RP 88/8, Namur University, 1988.Google Scholar
  10. 10.
    W. Drabent. What is Failure? An Approach to Constructive Negation. Technical Report LITH-IDA-R-91-23, Linkoping University, 1993. to appear in Acta Informatica.Google Scholar
  11. 11.
    M. Fitting. A Kripke-Kleene Semantics for Logic Programs. Journal of Logic Programming, 2:295–312, 1985.CrossRefGoogle Scholar
  12. 12.
    L. Fribourg. Extracting Logic Programs from Proofs that Use Extended Prolog Execution and Induction. In Proceedings of the Seventh Int. Conference on Logic Programming, Jerusalem, pages 685–699, 1990.Google Scholar
  13. 13.
    L. Fribourg. Generating Simplification Lemmas using Extended Prolog Execution and Proof-Extraction. In Proceedings of the Int. Logic Programming Symposium, San Diego, 1991.Google Scholar
  14. 14.
    A. Van Gelder, K. A. Ross, and J. S. Schlipf. The well-founded semantics for general logic programs. Journal of the ACM, 38(3):620–650, 1991.Google Scholar
  15. 15.
    T. Kanamori. Soundness and Completeness of Extended Execution for Proving Properties of Prolog Programs. Technical Report TR-175, ICOT, 1986.Google Scholar
  16. 16.
    T. Kanamori and H. Seki. Verification of Logic Programs Using an Extension of Execution. In Proceedings of the Third International Conference on Logic Programming, London, pages 475–489, 1986.Google Scholar
  17. 17.
    K. Kunen. Negation in Logic Programming. Journal of Logic Programming, 4:289–308, 1987.CrossRefGoogle Scholar
  18. 18.
    K. Kunen. Signed Data Dependencies in Logic Programs. Journal of Logic Programming, 7:231–245, 1989.CrossRefGoogle Scholar
  19. 19.
    J. L. Lassez, M. J. Maher, and K. G. Marriott. Unification Revisited. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 587–625. Morgan Kaufmann, Los Alto, Ca., 1988.Google Scholar
  20. 20.
    J. M. Lever. Proving Program Properties by means of SLS-resolution. In Proceedings of the Eight Int. Conference on Logic Programming, Paris, pages 614–628, 1991.Google Scholar
  21. 21.
    J. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, 1987.Google Scholar
  22. 22.
    T. C. Przymusinski. Perfect Model Semantics. In R. Kowalski and K. Bowen editors, editors, Proceedings of the Fifth Int. Logic Programming Symposium, pages 1081–1096. Association for Logic Programing, 1988.Google Scholar
  23. 23.
    T. C. Przymusinski. On Constructive Negation in Logic Programming. Technical report, University of Texas at El Paso, 1990.Google Scholar
  24. 24.
    T. Sato. Equivalence-preserving first order unfold/fold transformation systems. Theoretical Computer Science, 105:57–84, 1992.Google Scholar
  25. 25.
    T. Sato and F. Motoyoshi. A Complete Top-down Interpreter for First Order Programs. In Proceedings of the Int. Logic Programming Symposium, San Diego, pages 35–53. MIT Press, 1991.Google Scholar
  26. 26.
    J. C. Shepherdson. Language and Equality Theory in Logic Programming. Technical Report PM-88-08, University of Bristol, 1988.Google Scholar
  27. 27.
    D. van Dalen. Logic and Structure. Springer Verlag, Berlin, second edition, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Sophie Renault
    • 1
  1. 1.INRIA-RocquencourtLe ChesnayFrance

Personalised recommendations