Skip to main content
Log in

Non-Horn clause logic programming without contrapositives

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

Abstract

We present an extension of Prolog-style Horn clause logic programming to full first order logic. This extension has some advantages over other such extensions that have been proposed. We compare this method with the model elimination strategy which Stickel has recently implemented very efficiently, and with Loveland's extension of Prolog to near-Horn clauses. This new method is based on the author's “simplified problem reduction format” but permits a better control of the splitting rule than does the simplified problem reduction format. In contrast to model elimination, this new method does not require the use of contrapositives of clauses, permitting a better control of the search. This method has been implemented in C Prolog and has turned out to be a respectable and surprisingly compact first-order theorem prover. This implementation uses depth-first iterative deepening and caching of answers to avoid repeated solution of the same subgoal. We show that the time and space used by this method are polynomial functions of certain natural parameters of the search space, unlike other known methods. We discuss the relation of these upper bounds to Savitch's theorem relating nondeterministic time to deterministic space.

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. Ballantyne, A., and Bledsoe, W., ‘On generating and using examples in proof discovery’, Machine Intelligence 10 (Harwood, Chichester) 3–39 (1982).

    Google Scholar 

  2. Brand, D., ‘Proving theorems with the modification method’, SIAM J. Comput. 4 412–430 (1975).

    Google Scholar 

  3. Chandra, A., Kozen, D., and Stockmeyer, L., ‘Alternation’, J. ACM 28 114–133 (1981).

    Google Scholar 

  4. Chang, C. and Lee, R., Symbolic Logic and Mechanical Theorem Proving (Academic Press, New York, 1973).

    Google Scholar 

  5. Clocksin, W. F. and Mellish, C. S., Programming in Prolog (Springer-Verlag, New York, 1987).

    Google Scholar 

  6. Gallier, J., Logic for Computer Science: Foundations of Automatic Theorem Proving (Harper and Row, Philadelphia, 1986).

    Google Scholar 

  7. Grau, A. A., ‘Ternary boolean algebra’, Bull. Amer. Math. Soc. 53, 567–572 (1947).

    Google Scholar 

  8. Green, C., ‘Theorem proving by resolution as a basis for question-answering systems’, Machine Intelligence 4 (American Elsevier, New York) pp. 183–205 (1969).

    Google Scholar 

  9. Greenbaum, S., ‘Input transformations and resolution implementation techniques for theorem proving in first-order logic’, Ph.D. thesis, University of Illinois at Urbana-Champaign, September, 1986.

  10. Greenbaum, S., and Plaisted, D., ‘The Illinois prover: a general purpose resolution theorem prover, extended abstract’, Eighth Conference on Automated Deduction, July, 1986.

  11. Hopcroft, J. and Ullman, J., Introduction to automata Theory, Languages and Computation (Addison-Wesley, Reading, Massachusetts, 1979).

    Google Scholar 

  12. Knuth, D. and Bendix, P., ‘Simple word problems in universal algebras’, Computational Problems in Abstract Algebra (J.Leech, ed.), Pergamon Press, Oxford, pp. 263–297 (1970).

    Google Scholar 

  13. Korf, R. E., ‘Depth-first iterative deepening: an optimal admissible tree search’, Artificial Intelligence 27 97–109 (1985).

    Google Scholar 

  14. Loveland, D. W., ‘A simplified format for the model elimination procedure’, J. ACM 16 363–349 (1969).

    Google Scholar 

  15. Loveland, D. W., ‘Near-Horn Prolog’, Proceedings of the Fourth International Conference on Logic Programming, Melbourne, Australia, 1987, pp. 456–469.

  16. Lukasiewicz, J., ‘The shortest axioms of the implicational calculus of propositions’, in: L Borowski, ed., Jan Lukasiewicz, Selected Works, Studies in Logic and the Foundations of Mathematics (North-Holland) pp. 295–305 (1970).

  17. Lusk, E., McCune, W., and Overbeek, R., ‘ITP at Argonne National Laboratory’, 8th International Conference on Automated Deduction, Oxford, England, 1986, pp. 697–698.

  18. Lusk, E. and Overbeek, R., ‘Non-Horn problems’, J. Automated Reasoning 1 (1985).

  19. O'Keefe, R. A., ‘Programming Meta-Logical Operations in Prolog’, DAI Working Paper No. 142, Dept of Artifical Intelligence, Univ. of Edinburgh, June 1983.

  20. Plaisted, D., and Greenbaum, S., ‘Problem representations for back chaining and equality in resolution theorem proving’, First Annual AI Applications Conference, Denver, Colorado, December, 1984.

  21. Plaisted, D., ‘A simplified problem reduction format’, Artificial Intelligence 18, 227–261 (1982).

    Google Scholar 

  22. Plaisted, D., ‘The occur-check problem in Prolog’, Proceedings of the 1984 International Symposium on Logic Programming, IEEE, Atlantic City, New Jersey, February, 1984, pp. 272–280; also appeared in Journal of New Generation Computing 2 309–322 (1984).

  23. Robinson, J., ‘Theorem proving on the computer’, J. ACM 10 163–174 (1963).

    Google Scholar 

  24. Robinson, J., ‘A machine oriented logic based on the resolution principle’, J. ACM 12, 23–41 (1965).

    Google Scholar 

  25. Savitch, W. J., ‘Relationships between nondeterministic and deterministic tape complexities’, J. Computer and Systems Sciences 4 177–192 (1970).

    Google Scholar 

  26. Smullyan, R., To Mock a Mockingbird (Knopf, New York, 1985).

    Google Scholar 

  27. Stickel, M. E., ‘A PROLOG technology theorem prover: implementation by an extended PROLOG compiler’, Proceedings of the Eight International Conference in Automated Deduction, Oxford, England, July 1986, pp. 573–587.

  28. Stickel, M. E. and Tyson, W. M., ‘An analysis of consecutively bounded depth-first search with applications in automated deduction’. Proceedings of the Ninth International Joint Conference on Artificial Intelligence, Los Angeles, California, August, 1985, pp. 1073–1075.

  29. Wang, T. C., ‘Designing examples for semantically guided herarchical deduction’, IJCAI-85, pp. 1201–1207.

  30. Walther, C., ‘Schubert's Steamroller — a case study in many sorted resolution’, Technical Report, Institut for Informatik, May, 1984.

  31. Wos, L., Robinson, G., Carson, D., and Shalla, L., ‘The concept of demodulation in theorem proving’, J. ACM 14, 698–709 (1967).

    Google Scholar 

  32. Wos, L. and Winker, S., ‘Open questions solved with the assistance of AURA’, Contemporary Mathematics 29, 73–88 (1984).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This research was supported in part by the National Science Foundation under grant DCR-8516243.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Plaisted, D.A. Non-Horn clause logic programming without contrapositives. J Autom Reasoning 4, 287–325 (1988). https://doi.org/10.1007/BF00244944

Download citation

  • Received:

  • Issue Date:

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

Key words

Navigation