Formal Aspects of Computing

, Volume 6, Supplement 1, pp 743–765 | Cite as

Reasoning about Prolog programs: From modes through types to assertions

  • Krzysztof R. Apt
  • Elena MarchioriEmail author


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.


Prolog programs Program verification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ApE93]
    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. [ApP94]
    Apt, K. R. and Pellegrini, A.: On the occur-check free Prolog programs.ACM Toplas, 1994. In press.Google Scholar
  3. [Apt90]
    Apt, K. R.: Logic programming. In J. van Leeuwen, editor,Handbook of Theoretical Computer Science, pp. 493–574. Elsevier, 1990. Vol. B.Google Scholar
  4. [BoC89]
    Bossi, A. and Cocco, N.: Verifying correctness of logic programs. InProceedings of Tapsoft '89, pp. 96–110, 1989.Google Scholar
  5. [BCF91]
    Bossi, A., Cocco, N. and Fabris, M.: Proving termination of logic programs by exploiting term properties. InProceedings of Tapsoft '91, pp. 153–180, 1991.Google Scholar
  6. [BLR92]
    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.Google Scholar
  7. [CoM91]
    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.Google Scholar
  8. [CoM93]
    Colussi, L. and Marchiori, E.: Unification as predicate transformer. Submitted, 1993. Preliminary version inProceedings JICSLP' 92, pp. 67–85.Google Scholar
  9. [DeM85]
    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.Google Scholar
  10. [DrM88]
    Drabent, W. and Maluszynski, J.: Inductive assertion method for logic programs.Theoretical Computer Science, 59(1):133–155, 1988.CrossRefzbMATHMathSciNetGoogle Scholar
  11. [Dra87]
    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.Google Scholar
  12. [Llo87]
    Lloyd, J. W.:Foundations of Logic Programming. Springer-Verlag, Berlin, second edition, 1987.CrossRefzbMATHGoogle Scholar
  13. [Mel81]
    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.Google Scholar
  14. [Red84]
    Reddy, U. S.: Transformation of logic programs into functional programs. InInternational Symposium on Logic Programming, pp. 187–198. IEEE Computer Society, 1984.Google Scholar
  15. [Red86]
    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.Google Scholar
  16. [Ros91]
    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.Google Scholar

Copyright information

© British Computer Society 1994

Authors and Affiliations

  1. 1.Centrum voor Wiskunde and Computer Science (CWI) and Faculty of Mathematics and Computer ScienceUniversity of AmsterdamThe Netherlands
  2. 2.CWIGB AmsterdamThe Netherlands

Personalised recommendations