Skip to main content
Log in

Replacing unification by constraint satisfaction to improve logic program expressiveness

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

Unification, the heart of resolution, was formulated to work in the Herbrand universe and hence does not incorporate any function evaluation. Matching is completely syntactic. In this paper, we study the replacement of unification by a constraints solver in automatic theorem proving systems using Prolog as our example. The generalization of unification into a constraint satisfaction algorithm allows the (limited) incorporation of function evaluation into unification. Constraints are also allowed as literals in the clause. We discuss the enhanced expressive power that results from incorporating an efficient ‘constrained unifier’ into an automatic theorem proving system. An interpreter for the extended Prolog system (written in Prolog) incorporating a constraint solver is presented along with examples illustrating its capabilities.

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. Bazaraa, M. S. and Jarvis, J. J., Linear Programming and Network Flows, John Wiley & Sons, New York, 1977.

    Google Scholar 

  2. Charniak, E. and McDermott, D., Artificial Intelligence, Addison-Wesley, Reading, Mass., 1984.

    Google Scholar 

  3. Colmerauer, A., ‘Opening the Prolog-III universe,’ BYTE, August, 1987.

  4. Davis, Ernest, ‘Constraint propagation with real valued quantities,’ TR-189, New York University, 1985.

  5. Dongarra, J. J., Bunch, J. R., Moler, C. B., and Stewart, G. W., LINPACK User's Guide, SIAM, Philadelphia, PA, 1980.

    Google Scholar 

  6. vanEmden, M. H. and Kowalski, R. A., ‘The semantics of predicate logic as a programming language,’ JACM 32, 4, 1985.

    Google Scholar 

  7. Floyd, R., ‘The paradigm of programming,’ CACM, August, 1979.

  8. Jaffar, J. and Lassez, J. L., ‘Constraint logic programming,’ Proceedings of the Conference on Principles of Programming Languages, Munich, 1987.

  9. Lassez, C., ‘Constraint logic programming,’ BYTE, August, 1987.

  10. Morris, K., Ullman, J. D., and VanGelder, A., ‘Design overview of the NAIL! system,’ Third International Conference on Logic Programming, Lecture Notes in Computer Science, Springer, Berlin, 1986.

    Google Scholar 

  11. Naish, L., ‘Negation and control in PROLOG,’ Lecture Notes in Computer Science, Springer, Berlin, 1986.

    Google Scholar 

  12. Naqvi, S. A., ‘Some extensions to the closed world assumption in databases,’ International Conference on Database Theory, Lecture Notes in Computer Science, Springer, Berlin, 1986.

    Google Scholar 

  13. Roach, J. W. and Fowler, G. S., ‘Virginia Tech Prolog/Lisp, a dual interpreter implementation,’ Proc. of the 18th Hawaii International Conference on System Sciences, 1985, pp. 88–92.

  14. Robinson, J. A., ‘A machine oriented logic based on the resolution principle,’ JACM 12, 1, 1965.

    Google Scholar 

  15. Shepherdson, J. C., ‘Negation in logic programming,’ in Foundations of Deductive Databases and Logic Programming (J.Minker, editor), Los Altos, CA: Morgan Kaufmann, 1988.

    Google Scholar 

  16. Steele, G. L., ‘The definition and implementation of a computer programming language based on constraints,’ AI-TR-595, MIT, August 1980.

  17. Strassen, V., ‘Gaussian elimination is not optional,’ Numerische Mathematik 13, 354–365 (1969).

    Google Scholar 

  18. Sutherland, I., ‘SKETCHPAD: A man-machine graphical communication system,’ IFIPS Proceedings of the Spring Joint Computer Conference, 1963.

  19. Waltz, D., ‘Understanding live drawings of scenes with shadows,’ in The Psychology of Computer Vision (P.Winston, editor), NY: McGraw-Hill, 1975, pp. 19–91.

    Google Scholar 

  20. Warren, D. H. D., ‘Implementing Prolog — compiling logic programs’, vols. 1 and 2, DAI Research Reports 39 and 40, University of Edinburgh, 1977.

  21. Warren, D. H. D., ‘an abstract Prolog instruction set,’ Technical Note 309, SRI International, October 1983.

  22. Winston, P. H., Artificial Intelligence, Addison-Wesley, Reading, Mass., 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Roach, J.W., Sundararajan, R. & Watson, L.T. Replacing unification by constraint satisfaction to improve logic program expressiveness. J Autom Reasoning 6, 51–75 (1990). https://doi.org/10.1007/BF00302641

Download citation

  • Received:

  • Issue Date:

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

Key words

Navigation