Abstract
A Prolog technology theorem prover (PTTP) is an extension of Prolog that is complete for the full first-order predicate calculus. It differs from Prolog in its use of unification with the occurs check for soundness, depth-first iterative-deepening search instead of unbounded depth-first search to make the search strategy complete, and the model elimination reduction rule that is added to Prolog inferences to make the inference system complete. This paper describes a new Prolog-based implementation of PTTP. It uses three compile-time transformations to translate formulas into Prolog clauses that directly execute, with the support of a few run-time predicates, the model elimination procedure with depth-first iterative-deepening search and unification with the occurs check. Its high performance exceeds that of Prolog-based PTTP interpreters, and it is more concise and readable than the earlier Lisp-based compiler, which makes it superior for expository purposes. Examples of inputs and outputs of the compile-time transformations provide an easy and quite precise way to explain how PTTP works. This Prolog-based version makes it easier to incorporate PTTP theorem-proving ideas into Prolog programs. Some suggestions are made on extensions to Prolog that could be used to improve PTTP's performance.
This research was supported by the National Science Foundation under Grant CCR-8611116. The views and conclusions contained herein are those of the author and should not be interpreted as necessarily representing the official policies, either expressed or implied, of the National Science Foundation or the United States government.
Preview
Unable to display preview. Download preview PDF.
References
Antoniou, G. and H.J. Ohlbach. Terminator. Proceedings of the Eighth International Joint Conference on Artificial Intelligence, Karlsruhe, West Germany, August 1983, 916–919.
Astrachan, O. METEOR: model elimination theorem prover for efficient OR-parallelism. Unpublished, 1989.
Bose, S., E.M. Clarke, D.E. Long, and S. Michaylov. Parthenon: a parallel theorem prover for non-Horn clauses. Proceedings of the Fourth IEEE Symposium on Logic in Computer Science, Asilomar, California, June 1989.
Chang, C.L. and R.C.T. Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, New York, New York, 1973.
Gillogly, J.J. The technology chess program. Artificial Intelligence 3, 3 (Fall 1972), 145–163.
Korf, R.E. Depth-first iterative-deepening: an optimal admissible tree search. Artificial Intelligence 27, 1 (September 1985), 97–109.
Kowalski, R. and D. Kuehner. Linear resolution with selection function. Artificial Intelligence 2 (1971), 227–260.
Letz, R., J. Schumann, S. Bayerl, and W. Bibel. SETHEO: a high-performance theorem prover. To appear in Journal of Automated Reasoning.
Loveland, D.W. A simplified format for the model elimination procedure. Journal of the ACM 16, 3 (July 1969), 349–363.
Loveland, D.W. Automated Theorem Proving: A Logical Basis. North-Holland, Amsterdam, the Netherlands, 1978.
O'Keefe, R.A. Programming meta-logical operations in Prolog. DAI Working Paper No. 142, Department of Artificial Intelligence, University of Edinburgh, June 1983.
Plaisted, D.A. Non-Horn clause logic programming without contrapositives. Journal of Automated Reasoning 4, 3 (September 1988), 287–325.
Satz, R.W. Expert Thinker software package. Transpower Corporation, Parkerford, Pennsylvania, 1988.
Sterling, L. and E. Shapiro. The Art of Prolog. MIT Press, Cambridge, Massachusetts, 1986.
Stickel, M.E. A Prolog technology theorem prover. New Generation Computing 2, 4 (1984), 371–383.
Stickel, M.E. Automated deduction by theory resolution. Journal of Automated Reasoning 1, 4 (1985), 333–355.
Stickel, M.E. A Prolog technology theorem prover: implementation by an extended Prolog compiler. Journal of Automated Reasoning 4, 4 (December 1988), 353–380.
Stickel, M.E. A Prolog technology theorem prover: a new exposition and implementation in Prolog. Technical Note 464, Artificial Intelligence Center, SRI International, Menlo Park, California, June 1989.
Stickel, M.E. and W.M. Tyson. 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, 1073–1075.
Umrigar, Z.D. and V. Pitchumani. An experiment in programming with full first-order logic. Proceedings of the 1985 Symposium on Logic Programming, Boston, Massachusetts, July 1985, 40–47.
Wos, L., R. Veroff, B. Smith, and W. McCune. The linked inference principle, II: the user's viewpoint. Proceedings of the 7th International Conference on Automated Deduction, Napa, California, May 1984, 316–332.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stickel, M.E. (1990). A prolog technology theorem prover: A new exposition and implementation in Prolog. In: Miola, A. (eds) Design and Implementation of Symbolic Computation Systems. DISCO 1990. Lecture Notes in Computer Science, vol 429. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52531-9_135
Download citation
DOI: https://doi.org/10.1007/3-540-52531-9_135
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-52531-8
Online ISBN: 978-3-540-47014-4
eBook Packages: Springer Book Archive