Abstract
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.
- [ApE93] On the unification free Prolog programsLecture Notes in Computer Science1993BerlinSpringer London119Google Scholar
- [ApP94] Apt, K. R. and Pellegrini, A.: On the occur-check free Prolog programs.ACM Toplas, 1994. In press.Google Scholar
- [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
- [BoC89] Bossi, A. and Cocco, N.: Verifying correctness of logic programs. InProceedings of Tapsoft '89, pp. 96–110, 1989.Google Scholar
- [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
- [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
- [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
- [CoM93] Colussi, L. and Marchiori, E.: Unification as predicate transformer. Submitted, 1993. Preliminary version inProceedings JICSLP' 92, pp. 67–85.Google Scholar
- [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
- [DrM88] Inductive assertion method for logic programsTheoretical Computer Science198859113315510.1016/0304-3975(88)90099-00648.68019968904Google ScholarDigital Library
- [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
- [Llo87] Foundations of Logic Programming1987second editionBerlinSpringer London10.1007/978-3-642-83189-80668.68004Google ScholarCross Ref
- [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
- [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
- [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
- [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
Index Terms
Reasoning about Prolog programs: From modes through types to assertions
Recommendations
On the occur-check-free PROLOG programs
In most PROLOG implementations, for efficiency occur-check is omitted from the unification algorithm. This paper provides natural syntactic conditions that allow the occur-check to be safely omitted. The established results apply to most well-known ...
Meta-variables in Logic Programming, or in Praise of Ambivalent Syntax
We show here that meta-variables of Prolog admit a simple declarative interpretation. This allows us to extend the usual theory of SLD-resolution to the case of logic programs with meta-variables, and to establish soundness and strong completeness of ...
Rewriting of imperative programs into logical equations
This paper describes SOSSubC: a system for automatically translating programs written in SubC, a simple imperative language, into a set of first-order equations. This set of equations represents a SubC program and has a precise mathematical meaning; ...
Comments