Skip to main content

Extensions to logic programming motivated by the construction of a generic theorem prover

  • Conference paper
  • First Online:
Book cover Extensions of Logic Programming (ELP 1989)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 475))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. W. F. Clocksin and C. S. Mellish. Programming in Prolog. Springer-Verlag, third edition, 1987.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, 1989.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. D. Miller. A logical analysis of modules in logic programming. Journal of Logic Programming, 6:79–108, 1989.

    Google Scholar 

  8. 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).

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, Cambridge, Mass., 1990.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. Remo Pareschi. Type-driven Natural Language Analysis. PhD thesis, University of Edinburgh, 1989.

    Google Scholar 

  14. Remo Pareschi and Dale Miller. Extending definite clause grammars and scoping constructs. In The Seventh International Conference of Logic Programming, Jerusalem, 1990.

    Google Scholar 

  15. Laurence C. Paulson. The foundation of a generic theorem prover. Journal of Automated Reasoning, 5(3):363–397, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Peter Schroeder-Heister

Rights and permissions

Reprints 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

Publish with us

Policies and ethics