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.
Similar content being viewed by others
References
K. Apt. Introduction to Logic Programming. In J. Van Leeuven, editor, Handbook of Theoretical Computer Science. North Holland, 1990.
A. Bottoni and G.Levi. Computing in the Completion. In Atti dell Ottavo Convegno sulla Programmazione Logica (Gulp), pages 375–389. Mediterranean Press, 1993.
A. Bouverot. Comparaison entre la transformation et l'extraction de programmes logiques. PhD thesis, Université Paris VII, 1991.
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.
K. L. Clark. Negation as Failure. In H. Gallaire and J. Minker, editors, Logic and Databases, pages 293–322. Plenum Press, New York, 1978.
A. Cortesi and G. Filé. Graph Properties for Normal Programs. Theoretical Computer Science, 107:277–303, 1993.
P. Deransart. Proof Methods of Declarative Properties of Definite Programs. Theoretical Computer Science, 118:99–166, 1993.
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.
Y. Deville. A Correctness Definition for Logic Programming. Technical Report RP 88/8, Namur University, 1988.
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.
M. Fitting. A Kripke-Kleene Semantics for Logic Programs. Journal of Logic Programming, 2:295–312, 1985.
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.
L. Fribourg. Generating Simplification Lemmas using Extended Prolog Execution and Proof-Extraction. In Proceedings of the Int. Logic Programming Symposium, San Diego, 1991.
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.
T. Kanamori. Soundness and Completeness of Extended Execution for Proving Properties of Prolog Programs. Technical Report TR-175, ICOT, 1986.
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.
K. Kunen. Negation in Logic Programming. Journal of Logic Programming, 4:289–308, 1987.
K. Kunen. Signed Data Dependencies in Logic Programs. Journal of Logic Programming, 7:231–245, 1989.
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.
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.
J. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, 1987.
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.
T. C. Przymusinski. On Constructive Negation in Logic Programming. Technical report, University of Texas at El Paso, 1990.
T. Sato. Equivalence-preserving first order unfold/fold transformation systems. Theoretical Computer Science, 105:57–84, 1992.
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.
J. C. Shepherdson. Language and Equality Theory in Logic Programming. Technical Report PM-88-08, University of Bristol, 1988.
D. van Dalen. Logic and Structure. Springer Verlag, Berlin, second edition, 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Renault, S. (1994). Generalizing extended execution for normal programs. In: Fribourg, L., Turini, F. (eds) Logic Program Synthesis and Transformation — Meta-Programming in Logic. META LOPSTR 1994 1994. Lecture Notes in Computer Science, vol 883. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58792-6_10
Download citation
DOI: https://doi.org/10.1007/3-540-58792-6_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58792-7
Online ISBN: 978-3-540-49104-0
eBook Packages: Springer Book Archive