Abstract
A refinement calculus for deriving logic programs is proposed. The calculus has a model-theoretic and a transformational characterization. The transformational characterization is based on partial deduction and is shown to be sufficient to preserve the model-theoretic characterization. Refinement with partial deduction can be thus considered as a tool for the step-by-step derivation of logic programs. Refinement rules formalize the so called “Laws of Programming” and thus they constitute a basis for a mechanical system that can approximate human knowledge of programming.
This research is supported in part by the ESPRIT BRA COMPUNET/NFR contract # 469.92/011 and by the Human Capital and Mobility NFR contract # 101341/410.
On leave of absence from Institut für Logik, Komplexität und Deduktionssysteme, Universität Karlsruhe (TH).
Preview
Unable to display preview. Download preview PDF.
References
R. J. R. Back. A calculus of refinements for program derivations. Acta Informatica, 25:593–624, 1988.
A. Bossi and N. Cocco. Basic transformation operations for logic programs which preserve computed answer substitutions of logic programs. Journal of Logic Programming, 16:47–87, 1993.
K. Clark and S.-A. Tärnlund. A first-order theory of data and programs. In Proc. of the International Joint Conference on Artificial Intelligence, pages 419–420, 1977.
W. Drabent, S. Nadjm-Tehrani, and J. Małuszyński. The use of assertions in algorithmic debugging. In ICOT, editor, Proceedings of the International Conference on Fifth Generation Computer Systems, pages 573–581, 1988.
M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. A model-theoretic reconstruction of the operational semantics of logic programs. Information and Computation, 102(1):86–113, 1993.
J. Gallagher. Transforming logic programs by specialising interpreters. In ECAI-86. 7th European Conference on Artificial Intelligence, Brighton Centre, United Kingdom, pages 109–122, 1986.
J. Komorowski. A Specification of An Abstract Prolog Machine and Its Application to Partial Evaluation. PhD thesis, Department of Computer and Information Science, Linköping University, Linköping, 1981.
J. Komorowski. Partial evaluation as a means for inferencing data structures in an applicative language: a theory and implementation in the case of Prolog. In Proc. of the ACM Symp. Principles of Programming Languages, pages 255–267. ACM, 1982.
J. Komorowski. Elements of a programming methodology founded on partial deduction — part 1. In Z. Ras, editor, Proc. of the Int. Symp. on Methodologies for Intelligent Systems. North Holland, October 1990. Knoxville, Tennessee.
J. Komorowski. Towards a programming methodology founded on partial deduction. In Proc. of the European Conference on Artificial Intelligence. Pitman Publ. Co., August 1990.
J. Komorowski. An introduction to partial deduction. In Proc. of the META'92 Workshop on Meta Programming. Lecture Notes in Computer Science, 1992.
J. Komorowski. On data-type centered, correctness-oriented design. In J. Jacquet, editor, Constructing Logic Programs. John Wiley & Sons, 1993.
J. Komorowski. A prolegomenon to partial deduction. Fundamenta Informaticae, 18(1):41–64, January 1993.
J. Komorowski. Special issue on partial deduction. Journal of Logic Programming, 16, 1993. Guest Editor.
J. Komorowski. PAL — a programming environment for the refinement calculus. Technical report, The Norwegian Institute of Technology, 1994.
J. Komorowski and S. Trcek. On refinement of logic programs. In Proc. of the 5th Nordic Workshop on Program Correctness, Turku, Finland åbo Akademi University, 1993.
A. Lakhotia. Incorporating’ programming techniques’ into Prolog Programs. In E. Lusk and R. A. Overbeek, editors, Proc. of the North American Conference on Logic Programming, pages 426–440. MIT Press, 1989.
K.-K. Lau and S. Prestwich. Synthesis of a family of recursive sorting procedures. In Proc. of the International Conference on Logic Programming, pages 641–658. MIT Press, 1991.
A. Pettorossi and M. Proietti. Decidability results and characterization of strategies for the development of logic programs. In Proc. of the International Conf. on Logic Programming, Lisabon, Portugal, 1989. MIT Press.
T. Sato and H. Tamaki. First-order compiler: A deterministic logic program synthesis algorithm. J. Symbolic Computation, 8:605–627, 1989.
D. S. Warren. Memoing for logic programs. In Special Issue of the CACM on Logic Programming. ACM, March 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Komorowski, J., Trcek, S. (1994). Towards refinement of definite logic programs. In: Raś, Z.W., Zemankova, M. (eds) Methodologies for Intelligent Systems. ISMIS 1994. Lecture Notes in Computer Science, vol 869. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58495-1_32
Download citation
DOI: https://doi.org/10.1007/3-540-58495-1_32
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58495-7
Online ISBN: 978-3-540-49010-4
eBook Packages: Springer Book Archive