Skip to main content

The Power of Partial Evaluation

  • Conference paper

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

In this paper we show how to perform effective specialisation of a clausal theorem prover for first order logic, using only partial evaluation and a well-designed reimplementation of the theorem prover. We take the clausal theorem prover given by Poole and Goebel in [17], and show that partial evaluation of this prover (written as a meta-program) with respect to some object theory, does not give the required specialisation. We then give a version of this meta-program that is amenable to specialisation and show that partial evaluation of this program with respect to some object theory can give results comparable to the results obtained by a special purpose analysis.

Work supported by ESPRIT Project PRINCE (5246)

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. T. Amtoft Hansen. Properties of unfolding-based meta-level systems. In Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 243–254, ACM Press, 1991.

    Google Scholar 

  2. K. Benkerimi and J.W. Lloyd. A partial evaluation procedure for logic programs. In S.K. Debray and M. Hermenegildo, editors, Proceedings of the North American Conference on Logic Programming, Austin, pages 343358, MIT Press, 1990.

    Google Scholar 

  3. BIM. Prolog by BIM Reference Manual, Release 3. 1. 1991.

    Google Scholar 

  4. C. Chang and R.C.-T Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1973.

    Google Scholar 

  5. D.A. de Waal and J. Gallagher. The Applicability of Logic Program Analysis and Transformation to Theorem Proving. Technical Report, University of Bristol, September 1993.

    Google Scholar 

  6. D.A. de Waal and J. Gallagher. Logic Program Specialisation with Deletion of Useless Clauses. Technical Report, University of Bristol, September 1993. (To appear as a poster at ILPS’93).

    Google Scholar 

  7. F. Defoort. De Grondrepresentatie in Prolog en in Gödel. Master’s thesis, Katholieke Universiteit Leuven, 1991.

    Google Scholar 

  8. Y. Futamura. Partial evaluation of computation process–an approach to a compiler-compiler. Systems, Computers, Controls, 2 (5): 45–50, 1971.

    Google Scholar 

  9. J. Gallagher. A System for Specialising Logic programs. Technical Report TR-91–32, University of Bristol, November 1991.

    Google Scholar 

  10. J. Gallagher and M. Bruynooghe. Some low-level source transformations for logic programs. In Proceedings of Meta90 Workshop on Meta Programming in Logic, Leuven, Belgium, April 1990.

    Google Scholar 

  11. C.A. Gurr. Specialising the ground representation in the logic programming language Gödel. In Y. Deville, editor, Logic Program Synthesis and Transformation, Springer-Verlag, 1994.

    Google Scholar 

  12. P.M. Hill and J.W. Lloyd. The Gödel Programming Language. Technical Report CSTR-92–27, University of Bristol, October 1992.

    Google Scholar 

  13. H.J. Komorowski. A Specification of an Abstract Prolog Machine and its Application to Partial Evaluation. Technical Report LSST 69, Linköping University, 1981.

    Google Scholar 

  14. J.W. Lloyd. Foundations of Logic Programming: 2nd Edition. Springer-Verlag, 1987.

    Google Scholar 

  15. J.W. Lloyd and J.C. Shepherdson. Partial Evaluation in Logic Programming. Journal of Logic Programming, 11 (3,4): 217–242, 1991.

    Article  MathSciNet  MATH  Google Scholar 

  16. D.W. Loveland. Automated theorem proving: a logical basis. North-Holland, 1978.

    Google Scholar 

  17. D.L. Poole and R. Goebel. Gracefully adding negation and disjunction to Prolog. In E. Shapiro, editor, Third International Conference on Logic Programming, pages 635–641, Lecture Notes in Computer Science, Springer-Verlag, 1986.

    Chapter  Google Scholar 

  18. M.E. Stickel. A Prolog Technology Theorem Prover. In International Symposium on Logic Programming, Atlantic City, NJ, pages 211–217, Feb. 6–9 1984.

    Google Scholar 

  19. F. van Harmelen. The limitations of partial evaluation. In J. Dassow and J. Kelemen, editors, 5th International Meeting of Young Computer Scientists, pages 170–187, Lecture Notes in Computer Science, Springer-Verlag, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1994 British Computer Society

About this paper

Cite this paper

de Waal, D.A. (1994). The Power of Partial Evaluation. In: Deville, Y. (eds) Logic Program Synthesis and Transformation. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3234-9_11

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3234-9_11

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19864-2

  • Online ISBN: 978-1-4471-3234-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics