Skip to main content

Specialisation of a Unification Algorithm

  • Conference paper
Logic Program Synthesis and Transformation

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

Abstract

Automatically specialising an algorithm for unification is a challenge to current techniques for partial evaluation. In this paper a study is made of several specialisations of unification that are typically needed. The limitations of existing partial evaluation techniques are examined and proposals for extensions are made. Partial evaluation is modified by adding condition goals which are used to evaluate or prune more of the computation tree than is possible with partial evaluation alone. It is shown that abstract substitutions can be introduced to allow information from infinite computation trees to be exploited. If infinite failures are removed from the computation tree the resulting specialised program does not preserve the procedural semantics given by SLDNF (which defines negation by finite failure). There is a short discussion on correctness results for such specialisations.

Work supported by ESPRIT II project PRINCE (5246)

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. Benkerimi and J.W. Lloyd; A Procedure for Partial Evaluation of Logic Programs; Proceedings of the North American Conference on Logic Programming, November 1990, Austin, Texas; (eds. S. Debray and M. Hermenegildo); MIT Press 1990.

    Google Scholar 

  2. M. Bruynooghe; A Practical Framework for the Abstract Interpretation of Logic Programs: to appear in Journal of Logic Programming.

    Google Scholar 

  3. D. Chan and M. Wallace; A Treatment of Negation During Partial Evaluation; in M eta-Programming in Logic Programming; eds. H. Abramson and M.H. Rogers, MIT Press, 1989.

    Google Scholar 

  4. J. Gallagher and M. Buynooghe; Some Low-Level Source Transformations for Logic Programs; Proceedings of Meta90 Workshop on Meta Programming in Logic, Leuven, Belgium, (April 1990).

    Google Scholar 

  5. J. Gallagher and M. Bruynooghe; The Derivation of an Algorithm for Program Specialisation; 7th Int. Conf. on Logic Programming, Jerusalem, eds. D.H.D. Warren and P. Szeredi, MIT Press, June 1990.

    Google Scholar 

  6. J. Gallagher, M. Codish, E. Shapiro; Specialisation of Prolog and FCP Programs Using Abstract Interpretation; New Generation Computing, 6 (1988) 159–186.

    Article  MATH  Google Scholar 

  7. J. Gallagher; SP: A System for Specialising Logic programs; Technical Report, University of Bristol.

    Google Scholar 

  8. P.M. Hill and J.W. Lloyd; Analysis of Meta-Programs; in M eta-Programming in Logic Programming; eds. H. Abramson and M.H. Rogers, MIT Press, 1989.

    Google Scholar 

  9. G. Janssens and M. Bruynooghe; Deriving Descriptions of Possible Valuam Variables by Means of Abstract Interpretation; Katholieke Univ. Leuven, CW-Report 108, 1990 (to appear in Journal of Logic Programming).

    Google Scholar 

  10. J.W. Lloyd and J.C. Shepherdson; Partial Evaluation in Logic Programming; University of Bristol, Department of Computer Science, TR-87-09 (1987) (revised 1989); (to appear in Journal of Logic Programming).

    Google Scholar 

  11. H. Seki; Unfold/Fold transformations of Stratified Programs; in Proc. of the 6th Int. Conf. on Logic Programming, Lisbon, 1989, eds. G. Levi and M. Martelli, MIT Press, 1989.

    Google Scholar 

  12. L. Sterling and E. Shapiro; The Art of Prolog; MIT Press (1986)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag London

About this paper

Cite this paper

de Waal, D.A., Gallagher, J. (1992). Specialisation of a Unification Algorithm. In: Clement, T.P., Lau, KK. (eds) Logic Program Synthesis and Transformation. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3494-7_15

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3494-7_15

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19742-3

  • Online ISBN: 978-1-4471-3494-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics