Skip to main content
Log in

Reasoning about Prolog programs: From modes through types to assertions

  • Published:
Formal Aspects of Computing

Abstract

We provide here a systematic comparative study of the relative strength and expressive power of a number of methods for program analysis of Prolog. Among others we show that these methods can be arranged in the following hierarchy: mode analysis ⇒ type analysis ⇒ monotonic properties ⇒ nonmonotonic run-time properties. We also discuss a method allowing us to prove global run-time properties.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Apt, K. R. and Etalle, S.: On the unification free Prolog programs. In A. Borzyszkowski and S. Sokolowski, editors,Proceedings of the Conference on Mathematical Foundations of Computer Science (MFCS 93), Lecture Notes in Computer Science, pp. 1–19, Berlin, 1993. Springer-Verlag.

    Google Scholar 

  2. Apt, K. R. and Pellegrini, A.: On the occur-check free Prolog programs.ACM Toplas, 1994. In press.

  3. Apt, K. R.: Logic programming. In J. van Leeuwen, editor,Handbook of Theoretical Computer Science, pp. 493–574. Elsevier, 1990. Vol. B.

  4. Bossi, A. and Cocco, N.: Verifying correctness of logic programs. InProceedings of Tapsoft '89, pp. 96–110, 1989.

  5. Bossi, A., Cocco, N. and Fabris, M.: Proving termination of logic programs by exploiting term properties. InProceedings of Tapsoft '91, pp. 153–180, 1991.

  6. Bronsard, F., Lakshman, T. K. and Reddy, U. S.: A framework of directionality for proving termination of logic programs. In K.R. Apt, editor,Proc. of the Joint International Conference and Symposium on Logic Programming, pp. 321–335. MIT Press, 1992.

  7. Colussi, L. and Marchiori, E.: Proving correctness of logic programs using axiomatic semantics. InProceedings of the Eight International Conference on Logic Programming, pp. 629–644. The MIT Press, 1991.

  8. Colussi, L. and Marchiori, E.: Unification as predicate transformer. Submitted, 1993. Preliminary version inProceedings JICSLP' 92, pp. 67–85.

  9. Dembinski, P. and Maluszynski, J.: AND-parallelism with intelligent backtracking for annotated logic programs. InProceedings of the International Symposium on Logic Programming, pp. 29–38, Boston, 1985.

  10. Drabent, W. and Maluszynski, J.: Inductive assertion method for logic programs.Theoretical Computer Science, 59(1):133–155, 1988.

    Article  MATH  MathSciNet  Google Scholar 

  11. Drabent, W.: Do logic programs resemble programs in conventional languages? InProc. of the Joint International Symposium on Logic Programming, pp. 389–396. IEEE Computer Society, 1987.

  12. Lloyd, J. W.:Foundations of Logic Programming. Springer-Verlag, Berlin, second edition, 1987.

    Book  MATH  Google Scholar 

  13. Mellish, C. S.: The automatic generation of mode declarations for prolog programs. Technical report, Department of Artificial Intelligence, Univ. of Edinburgh, 1981. DAI Research Paper 163.

  14. Reddy, U. S.: Transformation of logic programs into functional programs. InInternational Symposium on Logic Programming, pp. 187–198. IEEE Computer Society, 1984.

  15. Reddy, U. S.: On the relationship between logic and functional languages. In D. DeGroot and G. Lindstrom, editors,Functional and Logic Programming, pp. 3–36. Prentice-Hall, 1986.

  16. Rosenblueth, D. A.: Using program transformation to obtain methods for eliminating backtracking in fixed-mode logic programs. Technical Report 7, Universidad Nacional Autonoma de Mexico, Instituto de Investigaciones en Matematicas Aplicadas y en Sistemas, 1991.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Elena Marchiori.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Apt, K.R., Marchiori, E. Reasoning about Prolog programs: From modes through types to assertions. Formal Aspects of Computing 6 (Suppl 1), 743–765 (1994). https://doi.org/10.1007/BF01213601

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01213601

Keywords

Navigation