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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Ballantyne, A., and Bledsoe, W., ‘On generating and using examples in proof discovery’, Machine Intelligence 10 (Harwood, Chichester) 3–39 (1982).
Brand, D., ‘Proving theorems with the modification method’, SIAM J. Comput. 4 412–430 (1975).
Chandra, A., Kozen, D., and Stockmeyer, L., ‘Alternation’, J. ACM 28 114–133 (1981).
Chang, C. and Lee, R., Symbolic Logic and Mechanical Theorem Proving (Academic Press, New York, 1973).
Clocksin, W. F. and Mellish, C. S., Programming in Prolog (Springer-Verlag, New York, 1987).
Gallier, J., Logic for Computer Science: Foundations of Automatic Theorem Proving (Harper and Row, Philadelphia, 1986).
Grau, A. A., ‘Ternary boolean algebra’, Bull. Amer. Math. Soc. 53, 567–572 (1947).
Green, C., ‘Theorem proving by resolution as a basis for question-answering systems’, Machine Intelligence 4 (American Elsevier, New York) pp. 183–205 (1969).
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.
Greenbaum, S., and Plaisted, D., ‘The Illinois prover: a general purpose resolution theorem prover, extended abstract’, Eighth Conference on Automated Deduction, July, 1986.
Hopcroft, J. and Ullman, J., Introduction to automata Theory, Languages and Computation (Addison-Wesley, Reading, Massachusetts, 1979).
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).
Korf, R. E., ‘Depth-first iterative deepening: an optimal admissible tree search’, Artificial Intelligence 27 97–109 (1985).
Loveland, D. W., ‘A simplified format for the model elimination procedure’, J. ACM 16 363–349 (1969).
Loveland, D. W., ‘Near-Horn Prolog’, Proceedings of the Fourth International Conference on Logic Programming, Melbourne, Australia, 1987, pp. 456–469.
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).
Lusk, E., McCune, W., and Overbeek, R., ‘ITP at Argonne National Laboratory’, 8th International Conference on Automated Deduction, Oxford, England, 1986, pp. 697–698.
Lusk, E. and Overbeek, R., ‘Non-Horn problems’, J. Automated Reasoning 1 (1985).
O'Keefe, R. A., ‘Programming Meta-Logical Operations in Prolog’, DAI Working Paper No. 142, Dept of Artifical Intelligence, Univ. of Edinburgh, June 1983.
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.
Plaisted, D., ‘A simplified problem reduction format’, Artificial Intelligence 18, 227–261 (1982).
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).
Robinson, J., ‘Theorem proving on the computer’, J. ACM 10 163–174 (1963).
Robinson, J., ‘A machine oriented logic based on the resolution principle’, J. ACM 12, 23–41 (1965).
Savitch, W. J., ‘Relationships between nondeterministic and deterministic tape complexities’, J. Computer and Systems Sciences 4 177–192 (1970).
Smullyan, R., To Mock a Mockingbird (Knopf, New York, 1985).
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.
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.
Wang, T. C., ‘Designing examples for semantically guided herarchical deduction’, IJCAI-85, pp. 1201–1207.
Walther, C., ‘Schubert's Steamroller — a case study in many sorted resolution’, Technical Report, Institut for Informatik, May, 1984.
Wos, L., Robinson, G., Carson, D., and Shalla, L., ‘The concept of demodulation in theorem proving’, J. ACM 14, 698–709 (1967).
Wos, L. and Winker, S., ‘Open questions solved with the assistance of AURA’, Contemporary Mathematics 29, 73–88 (1984).
Author information
Authors and Affiliations
Additional information
This research was supported in part by the National Science Foundation under grant DCR-8516243.
Rights 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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00244944