Abstract
We present α lean TA P, a declarative tableau-based theorem prover written as a pure relation. Like lean TA P, on which it is based, α lean TA P can prove ground theorems in first-order classical logic. Since it is declarative, α lean TA P generates theorems and accepts non-ground theorems and proofs. The lack of mode restrictions also allows the user to provide guidance in proving complex theorems and to ask the prover to instantiate non-ground parts of theorems. We present a complete implementation of α lean TA P, beginning with a translation of lean TA P into αKanren, an embedding of nominal logic programming in Scheme. We then show how to use a combination of tagging and nominal unification to eliminate the impure operators inherited from lean TA P, resulting in a purely declarative theorem prover.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Beckert, B., Posegga, J.: leanTAP: Lean tableau-based deduction. Journal of Automated Reasoning 15(3), 339–358 (1995)
Byrd, W.E., Friedman, D.P.: αKanren: A fresh name in nominal logic programming. In: Proceedings of the 2007 Workshop on Scheme and Functional Programming, Université Laval Technical Report DIUL-RT-0701, pp. 79–90 (2007), http://www.cs.indiana.edu/~webyrd
Mellish, C.S.: The Automatic Generation of Mode Declarations for Prolog Programs. Dept. of Artificial Intelligence, University of Edinburgh (1981)
Pitts, A.M.: Nominal logic: A first order theory of names and binding. In: Kobayashi, N., Pierce, B.C. (eds.) TACS 2001. LNCS, vol. 2215, pp. 219–242. Springer, Heidelberg (2001)
Urban, C., Pitts, A., Gabbay, M.: Nominal unification. Theoretical Computer Science 323(1-3), 473–497 (2004)
Sperber, M., Clinger, W., Dybvig, R., Flatt, M., van Straaten, A., Kelsey, R., Rees, J.: Revised 6 report on the algorithmic language Scheme (September 2007)
Baader, F., Snyder, W.: Unification theory. Handbook of Automated Reasoning 1, 446–533
Cheney, J., Urban, C.: αProlog: A logic programming language with names, binding and α-equivalence. In: Demoen, B., Lifschitz, V. (eds.) ICLP 2004. LNCS, vol. 3132, pp. 269–283. Springer, Heidelberg (2004)
Byrd, W.E., Friedman, D.P.: From variadic functions to variadic relations
Friedman, D.P., Byrd, W.E., Kiselyov, O.: The Reasoned Schemer. The MIT Press, Cambridge (2005)
Fitting, M.: First-Order Logic and Automated Theorem Proving. Springer, Heidelberg (1996)
Paulson, L.C.: A generic tableau prover and its integration with Isabelle. Journal of Universal Computer Science 5(3), 73–87 (1999)
Pelletier, F.: Seventy-five problems for testing automatic theorem provers. Journal of Automated Reasoning 2(2), 191–216 (1986)
Kiselyov, O., Shan, C., Friedman, D., Sabry, A.: Backtracking, interleaving, and terminating monad transformers (functional pearl). ACM SIGPLAN Notices 40(9), 192–203 (2005)
Sutcliffe, G., Suttner, C.: The TPTP Problem Library. Journal of Automated Reasoning 21(2), 135–277 (1998)
Beckert, B., Posegga, J.: The lean TA P-FAQ: Frequently asked questions about lean TA P, http://www.uni-koblenz.de/~beckert/pub/LeanTAP_FAQ.pdf
Manthey, R., Bry, F.: SATCHMO: A theorem prover implemented in Prolog. In: Proceedings of the 9th International Conference on Automated Deduction, pp. 415–434 (1988)
Stickel, M.: A Prolog technology theorem prover. In: Proceedings of the 9th International Conference on Automated Deduction, pp. 752–753 (1988)
Christiansen, H.: Automated reasoning with a constraint-based metainterpreter. The Journal of Logic Programming 37(1-3), 213–254 (1998)
Kowalski, R.A.: Logic for Problem Solving. Prentice Hall PTR, Upper Saddle River (1979)
Pfenning, F., Elliot, C.: Higher-order abstract syntax. In: Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, vol. 23(7), pp. 199–208 (1988)
Felty, A., Miller, D.: Specifying theorem provers in a higher-order logic programming language. In: Proceedings of the 9th International Conference on Automated Deduction, pp. 61–80 (1988)
Pfenning, F., Schurmann, C.: System description: Twelf—a meta-logical framework for deductive systems. In: Proceedings of the 16th International Conference on Automated Deduction, pp. 202–206 (1999)
Friedman, D.P., Kiselyov, O.: A declarative applicative logic programming system, http://kanren.sourceforge.net
Lisitsa, A.: λleanTAP: lean deduction in λProlog. Technical report, ULCS-03-017, University of Liverpool, Department of Computer Science (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Near, J.P., Byrd, W.E., Friedman, D.P. (2008). α lean TA P: A Declarative Theorem Prover for First-Order Classical Logic. In: Garcia de la Banda, M., Pontelli, E. (eds) Logic Programming. ICLP 2008. Lecture Notes in Computer Science, vol 5366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89982-2_26
Download citation
DOI: https://doi.org/10.1007/978-3-540-89982-2_26
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89981-5
Online ISBN: 978-3-540-89982-2
eBook Packages: Computer ScienceComputer Science (R0)