Abstract
In this article, we discuss several possible extensions to traditional logic programming languages. The specific extensions proposed here fall into two categories: logical extensions and the addition of constructs to allow for increased control. There is a unifying theme to the proposed logical extensions, and that is the scoped introduction of extensions to a programming context. More specifically, these extensions are the ability to introduce variables whose scope is limited to the term in which they occur (i.e. λ-bound variables within λ-terms), the ability to introduce into a goal a fresh constant whose scope is limited to the derivation of that goal, and the ability to introduce into a goal a program clause whose scope is limited to the derivation of that goal. The purpose of the additions for increased control is to facilitate the raising and handling of failures.
To motivate these various extensions, we have repeatedly appealed to examples related to the construction of a generic theorem prover. It is our thesis that this problem domain is specific enough to lend focus when one is considering various language constructs, and yet complex enough to encompass many of the general difficulties found in other areas of symbolic computation.
The work reported here has been supported in part by grant NSF CCR-87-05596, while the author was at the University of Pennsylvania.
Preview
Unable to display preview. Download preview PDF.
References
W. F. Clocksin and C. S. Mellish. Programming in Prolog. Springer-Verlag, third edition, 1987.
A. Felty and D. Miller. Specifying theorem prover in a higher-order logic programming language. In E. Lusk and R. Overbeek, editors, Proceedings of the Ninth International Conference on Automated Deduction, pages 61–80, Springer-Verlag, May 23–26 1988.
Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, 1989.
Elsa L. Gunter. The Construction and Use of a Generic Theorem Prover in λ-Prolog. Technical Report, Dept. of Computer and Information Science, Moore School of Engineering, University of Pennsylvania, 1990.
John Hannan and Dale Miller. A meta language for functional programs. In H. Rogers and H. Abramson, editors, Meta-Programming in Logic Programming, pages 453–476, 1989.
D. Miller. Lexical scoping as universal quantification. In G. Levi and M. Martelli, editors, Sixth International Logic Programming Conference, pages 268–283, The MIT Press, 1989.
D. Miller. A logical analysis of modules in logic programming. Journal of Logic Programming, 6:79–108, 1989.
D. Miller, G. Nadathur, F. Pfenning, and A. Scedrov. Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic, (to appear).
Dale Miller. A logic programming language with lambda abstraction, function variables and simple unification. In Peter Schoeder-Heister, editor, Extensions of Logic Programming, To appear.
Dale Miller and Gopalan Nadathur. A logic programming approach to manipulating formulas and programs. In Proceeding of the IEEE Fourth Symposium on Logic Programming, San Francisco, pages 379–388, September 1987.
R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, Cambridge, Mass., 1990.
Gopalan Nadathur and Dale Miller. An overview of λ-Prolog. In Proceedings of the Fifth International Logic Programming Conference and Symposium, Seattle, Wash., pages 810–827, The MIT Press, August 15–19 1988.
Remo Pareschi. Type-driven Natural Language Analysis. PhD thesis, University of Edinburgh, 1989.
Remo Pareschi and Dale Miller. Extending definite clause grammars and scoping constructs. In The Seventh International Conference of Logic Programming, Jerusalem, 1990.
Laurence C. Paulson. The foundation of a generic theorem prover. Journal of Automated Reasoning, 5(3):363–397, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gunter, E.L. (1991). Extensions to logic programming motivated by the construction of a generic theorem prover. In: Schroeder-Heister, P. (eds) Extensions of Logic Programming. ELP 1989. Lecture Notes in Computer Science, vol 475. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0038696
Download citation
DOI: https://doi.org/10.1007/BFb0038696
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53590-4
Online ISBN: 978-3-540-46879-0
eBook Packages: Springer Book Archive