ACM Home Page
Please provide us with feedback. Feedback
On the occur-check-free PROLOG programs
Full text PdfPdf (2.43 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 16 ,  Issue 3  (May 1994) table of contents
Pages: 687 - 726  
Year of Publication: 1994
ISSN:0164-0925
Authors
Krzysztof R. Apt  CWI, Amsterdam, The Netherlands; Univ. of Amsterdam, The Netherlands
Alessandro Pellegrini  Univ. di Padova, Padova, Italy
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 30,   Citation Count: 9
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/177492.177673
What is a DOI?

ABSTRACT

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 PROLOG programs, including those that use difference lists, and seem to explain why this omission does not lead in practice to any complications. When applying these results to general programs, we show their usefulness for proving absence of floundering. Finally, we propose a program transformation that transforms every program into a program for which only the calls to the built-in unification predicate need to be resolved by a unification algorithm with the occur-check.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
APT, K. R. AND DOLTS, K. 1994. A new definition of SLDNF-resolution. J. Logic Program. 18, 177-190.
 
4
 
5
 
6
 
7
BossI, A., AND Cocco, N. 1990. Basic transformation operations for logic programs which preserve computed answer substitutions. Tech. Rep. 16, Dipartimento di Matematica Puraed Applicata, Universit~ di Padova, Italy.
 
8
CHADHA, R., AND PLAISTED, D. A. 1994. Correctness of unification without occur check in Prolog. J. Logic Program. 18, 99-122.
 
9
CLARK, K.L. 1979. Predicate logic as a computational formalism. Res. Rep. DOC 79/59, Dept. of Computing, Imperial College, London.
 
10
CURRY, H. B., AND FEYS, R. 1958. Combinatory Logic. Vol. I. Studies zn Logic and the Foundation of Mathematics. North-Holland, Amsterdam.
 
11
DECKER, H. 1991. On generalized cover axioms. In Proceedings of the 8th international Conference on Logic Programming, K. Furukawa, Ed. MIT Press, Paris, France, 693-707.
 
12
DEMBINSKI, P., AND MALUSZYNSKI, J. 1985. AND-parallelism with intelligent backtracking for annotated logic programs. In Proceedings of the International Symposium on Logic Programming (Boston, Mass.). 29-38.
 
13
DERANSART, P., AND MALUSZYNSKI, J. 1985. Relating logic programs and attribute grammars. J. Logtc Program., 2, 119-156.
 
14
DERANSART, P., FERRAND, G., AND TI~GUIA, M. 1991. NSTO programs (not subject to occur-check). In Proceedings of the International Logtc Symposium, V. Saraswat and K. Ueda, Eds. MIT Press, Cambridge, Mass., 533-547.
 
15
DRABENT, W. 1987. Do logic programs resemble programs in conventional languages? In International Symposium on Logic Programmtng (San Francisco, Calif., Aug.) IEEE, New York, 389-396.
 
16
DUMANT, B. 1992. Checking soundness of resolution schemes. In Proceedings of the Joint International Conference and Symposium on Logic Programming, K. R. Apt, Ed. MIT Press, Cambridge, Mass., 37-51.
 
17
 
18
 
19
20
 
21
MELLISH, C.S. 1981. The automatic generation of mode declarations for Prolog programs. DAI Res. Pap. 163, Dept of Artificial Intelligence, Univ. of Edinburgh, Aug.
 
22
PLAISTED, D.A. 1984. The occur-check problem in Prolog. In Proceedings of the International Conference on Logic Programming. IEEE, New York, 272-280.
 
23
REDD~, W. ~. 1984. Transformation of logic programs into functional programs. In Interna- tional Sympostum on Logic Programming (Silver Spring, Md., Feb.). IEEE, New York, 187-198.
 
24
REDDY, U.S. 1986. On the relationship between logic and functional languages. In Functional and Logic Programming, D. DeGroot and G. Lindstrom, Eds. Prentice-Hall, Englewood Cliffs, N.J., 3-36.
 
25
ROSENBLUETH, D.A. 1991. Using program transformation to obtain methods for eliminating backtracking in fixed-mode logic programs. Tech Rep. 7, Instituto de Investigaclones en Matematicas Aplicadas yen Sistemas. Universidad Nacional Autonoma de Mexico
 
26
 
27
 
28
STERLING, L., AND SHAPIRO, E. 1986. The Art ofProlog, MIT Press, Cambridge, Mass.
 
29
STROETMAN, K. 1993. A completeness result for SLDNF resolution. J. Logic Program. 15, 337-357.
 
30
TAMAKI, H., AND SATO, T. 1984. Unfold/fold transformation of logic programs. In Proceedings of the 2nd International Conference on Logic Programming (Uppsala, Sweden). 127-137.

CITED BY  9
 
 
 
 
 
 
 
 

Collaborative Colleagues:
Krzysztof R. Apt: colleagues
Alessandro Pellegrini: colleagues

Peer to Peer - Readers of this Article have also read: