Abstract
In this paper we present a program specialisation method which, given a call/post specification, transforms a logic program into a weakly call-correct one satisfying the post-condition. The specialisation is applied to specialised partially correct programs. This notion is based on the definition of specialised derivation which is intended to describe program behaviour whenever some properties on procedure calls are assumed. Top-down and bottom-up semantics of specialised derivations are recalled.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Reference
K. R. Apt. Introduction to Logic Programming. In J. vanLeeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics. Elsevier, Amsterdam and The MIT Press, Cambridge, 1990.
K. R. Apt. Program verification and prolog. In E. Börger, editor, Specification and Validation Methods for Programming Languages and Systems, pages 55–95. Oxford University Press, Oxford, 1995.
K. R. Apt. From Logic Programming to Prolog. Prentice Hall, 1997.
A. Bossi and N. Cocco. Verifying Correctness of Logic Programs. In G. Levi and M. Martelli, editors, Proc. Sixth Int’l Conf. on Logic Programming, pages 96–110. Springer-Verlag, Berlin, 1989.
A. Bossi, N. Cocco, and S. Dulli. A Method for Specializing Logic Programs. ACM Transactions on Programming Languages and Systems, 12(2):253–302, 1990.
A. Bossi, M. Martelli, M. Gabrielli, and G. Levi. The s-semantics approach: theory and applications. Journal of Logic Programming, 19-20:149–197, 1994.
A. Bossi and S. Rossi. Specialised semantics of logic programs. Technical Report CS-98-11, Dipartimento di Matematica e Informatica, Università di Venezia, 1998.
K. L. Clark. Predicate logic as a computational formalism. Research Report DOC 79/59, Imperial College, Department of Computing, London, 1979.
L. Colussi and E. Marchiori. Proving correctness of logic programs using axiomatic semantics. In Proc. Eighth Int’l Conf. on Logic Programming, pages 629–644. The MIT Press, Cambridge,Mass., 1991.
P. Deransart. Proof methods of declarative properties of definite programs. Theoretical Computer Science, 118:99–166, 1993.
W. Drabent and J. Maluszynski. Inductive Assertion Method for Logic Programs. Theoretical Computer Science, 59(1):133–155, 1988.
M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. A new Declarative Semantics for Logic Languages. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth Int’l Conf. on Logic Programming, pages 993–1005. The MIT Press, Cambridge,Mass., 1988.
M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. Declarative Modeling of the Operational Behavior of Logic Languages. Theoretical Computer Science, 69(3):289–318, 1989.
M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. A model-theoretic reconstruction of the operational semantics of logic programs. Theoretical Computer Science, 103(1):86–113, 1993.
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, 1987. Second edition.
J. W. Lloyd and J. C. Shepherdson. Partial Evaluation in Logic Programming. Journal of Logic Programming, 11:217–242, 1991.
Lee Naish. Types and the intended meaning of logic programs. In Frank Pfenning, editor, Types in logic programming, pages 189–216. MIT Press, Cambridge, Massachusetts, 1992.
Lee Naish. Verification of logic programs and imperative programs. In Jean-Marie Jacquet, editor, Constructing logic programs, pages 143–164. Wiley, Chichester, England, 1993.
Lee Naish. A three-valued semantics for horn clause programs. Technical Report 98/4, Department of Computer Science, University of Melbourne, Melbourne, Australia, March 1998.
A. Pettorossi and M. Proietti. A theory of logic program specialization and generalization for dealing with input data properties. In Proceedings of Partial Evaluation, International Seminar, volume 1110 of Lecture Notes in Computer Science. Springer-Verlag, 1996.
A. Takeuchi and K. Furukawa. Partial evaluation of Prolog programs and its application to metaprogramming. In Information Processing 86, pages 415–420, 1986.
M. H. van Emden and R. A. Kowalski. The semantics of predicate logic as a programming language. Journal of the ACM, 23(4):733–742, 1976.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bossi, A., Rossi, S. (1999). Specialising Logic Programs with Respect to Call/Post Specifications. In: Flener, P. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 1998. Lecture Notes in Computer Science, vol 1559. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48958-4_9
Download citation
DOI: https://doi.org/10.1007/3-540-48958-4_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65765-1
Online ISBN: 978-3-540-48958-0
eBook Packages: Springer Book Archive