Skip to main content

An Algorithm for Finite Approximations of Definite Programs and its Implementation in Prolog

  • Conference paper
ALPUK92

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

  • 36 Accesses

Abstract

In this paper, we first review a bottom-up abstract interpretation framework for finite approximations of definite programs that are characterised by abstraction functions. For each such abstraction function a, a finite approximation of the least fixpoint semantics is given as the least fix-point of a function Φ P,α over an abstract domain in a similar way that the least fixpoint semantics is given as the least fixpoint of a function T P over the concrete domain. Then the derivation of an algorithm for the computation of lfp P,α ) is detailed and its implementation in Prolog is presented. The final algorithm is efficient in both storage usage and time usage. The efficiency in its storage usage is obtained by formulating another function Ψ P,α and establishing that lfp P,α ) = lfp P,α ). The time efficiency is obtained by using heuristic knowledge derived from program text and information accumulated during the computation of lfp P,α ). The time efficiency is exemplified through depth abstractions and stump abstractions.

Supported by the Sino-British Friendship Scholarship Scheme.

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. Azzoune H. Type inference in Prolog. In Lusk E, Overbeek R (ed) Proceedings of the Ninth International Conference on Automated Deduction. Springer-Verlag, 1988, pp 258–277 (Lecture Notes in Computer Science no. 310)

    Chapter  Google Scholar 

  2. Bruynooghe M, Janssens G, Callebaut A, Demoen B. Abstract interpretation: towards the global optimisation of Prolog programs. In Proceedings of the 1987 Symposium on Logic Programming. The IEEE Society Press, 1987, pp 192–204

    Google Scholar 

  3. Heintze N, Jaffar J. A finite presentation theorem for approximating logic programs. In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages. The ACM Press, 1990, pp 197–209

    Google Scholar 

  4. Hutching AMJ, Bowen DL, Byrd L, et al. Edinburgh Prolog (The New Implementation) User’s Manual. AI Applications Institute, University of Edinburgh, 1987

    Google Scholar 

  5. Lu L, Greenfield P. Abstract fixpoint semantics and abstract procedural semantics of definite logic programs. In Proceedings of IEEE Computer Society 1992 International Conference on Computer Languages. The IEEE Computer Society Press, 1992, pp 147–154

    Chapter  Google Scholar 

  6. Marriott K, Søndergaard H. Bottom-up abstract interpretation of logic programs. In Kowalski RA, Bowen KA (ed) Proceedings of the Fifth International Conference and Symposium on Logic Programming. The MIT Press, 1988, pp 733–748

    Google Scholar 

  7. Mishra P. Towards a theory of types in Prolog. In Proceedings of the IEEE international Symposium on Logic Programming. The IEEE Computer Society Press, 1984, pp 289–298

    Google Scholar 

  8. O’Keefe RA. Finite fixed-point problems. In Lassez JL (ed) Proceedings of the Fourth International Conference on Logic Programming, Volume 2. The MIT Press, 1987, pp 729–743

    Google Scholar 

  9. Peyton-Jones S, Clack C. Finding fixpoints in abstract interpretation. In Abramsky S, Hankin C (ed) Abstract interpretation of declarative languages. Ellis Horwood Limited, 1987, pp 246–265

    Google Scholar 

  10. Sato T, Tamaki H. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227–240, 1984

    Article  MathSciNet  MATH  Google Scholar 

  11. Van Emden MH, Kowalski RA. The semantics of predicate logic as a programming language. Artificial Intelligence, 23:733–742, 1976

    MATH  Google Scholar 

  12. Xu J, Warren DS. A type inference system for Prolog. In Kowalski RA, Bowen KA (ed) Proceedings of the Fifth International Conference and Symposium on Logic Programming, The MIT Press, 1988, pp 604–619

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 British Computer Society

About this paper

Cite this paper

Lu, L., Greenfield, P. (1993). An Algorithm for Finite Approximations of Definite Programs and its Implementation in Prolog. In: Broda, K. (eds) ALPUK92. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3421-3_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3421-3_4

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19783-6

  • Online ISBN: 978-1-4471-3421-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics