Skip to main content

Positive Boolean Functions as Multiheaded Clauses

  • Conference paper
  • First Online:
Logic Programming (ICLP 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2237))

Included in the following conference series:

Abstract

Boolean functions are ubiquitous in the analysis of (constraint) logic programs.The domain of positive Boolean functions, Pos, has been used for expressing, for example, groundness, finiteness and sharing dependencies. The performance of an analyser based on Boolean functions is critically dependent on the way in which the functions are represented. This paper discusses multiheaded clauses as a representation of positive Boolean functions. The domain operations for multiheaded clauses are conceptually simple and can be implemented straightforwardly in Prolog. Moreo ver these operations generalise those for the less algorithmically complex operations of propositional Horn clauses, leading to naturally stratified algorithms. The multiheaded clause representation is used to build a pos-based groundness analyser. The analyser performs surprisingly well and scales smoothly, not requiring widening to analyse any program in the benchmark suite.

Work supported by EPSRC Grant GR/MO8769.

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. T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Two Classes of Boolean Functions for Dependency Analysis. Science of Computer Programming, 31(1):3–45, 1998.

    Article  MATH  MathSciNet  Google Scholar 

  2. R. Bagnara and P. Schachte. Factorizing Equivalent Variable Pairs in ROBDDBased Implementations of Pos.In Seventh International Conference on Algebraic Methodology and Software Technology, volume 1548 of Lecture Notes in Computer Science, pages 471–485. Springer-Verlag, 1999.

    Chapter  Google Scholar 

  3. P. Bigot, S. Debray, and K. Marriott. Understanding Finiteness Analysis using Abstract Interpretation. In Joint International Conference and Symposium on Logic Programming, pages 735–749. MIT Press, 1992.

    Google Scholar 

  4. F. Bueno, D. Cabeza, M. Hermenegildo, and G. Puebla. Global Analysis of Standard Prolog Programs. In European Symposium on Programming, volume 1058 of Lecture Notes in Computer Science, pages 108–124. Springer-Verlag, 1996.

    Google Scholar 

  5. M. Codish. Efficient Goal Directed Bottom-up Evaluation of Logic Programs. Journal of Logic Programming, 38(3):355–370, 1999.

    Article  MATH  MathSciNet  Google Scholar 

  6. M. Codish. Worst-Case Groundness Analysis using Positive Boolean Functions. Journal of Logic Programming, 41(1):125–128, 1999.

    Article  MATH  MathSciNet  Google Scholar 

  7. M. Codish and B. Demoen. Analysing Logic Programs using “prop”-ositional Logic Programs and a Magic Wand. Journal of Logic Programming, 25(3):249–274, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  8. M. Codish, H. Søndergaard, and P. Stuckey. Sharing and Groundness Dependencies in Logic Programs. ACM Transactions on Programming Languages and Systems, 21(5):948–976, 1999.

    Article  Google Scholar 

  9. P. Dart. On Derived Dependencies and Connected Databases. Journal of Logic Programming, 11(1–2):163–188, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  10. C. Fecht. Abstrakte Interpretation logischer Programme: Theorie, Implementierung, Generierung. PhD thesis, Universität des Saarlandes, 1997.

    Google Scholar 

  11. C. Fecht and H. Seidl. A Faster Solver for General Systems of Equations. Science of Computer Programming, 35(2–3):137–162, 1999.

    Article  MATH  MathSciNet  Google Scholar 

  12. M. García de la Banda, M. Hermenegildo, M. Bruynooghe, V. Dumortier, G. Janssens, and W. Simoens. Global Analysis of Constraint Logic Programs. ACM Transactions on Programming Languages and Systems, 18(5):564–614, 1996.

    Article  Google Scholar 

  13. S. Genaim and M. Codish. The Def-inite Approach to Dependency Analysis. In European Symposium on Programming, volume 2028 of Lecture Notes in Computer Science, pages 417–32. Springer-Verlag, 2001.

    Google Scholar 

  14. S. Genaim, J.M. Howe, and M. Codish. Worst-Case Groundness Analysis using Definite Boolean Functions. Theory and Practice of Logic Programming, 2001. Forthcoming.

    Google Scholar 

  15. R. Giacobazzi, S. Debray, and G. Levi. Generalized Semantics and Abstract Interpretation for Constraint Logic Programs. Journal of Logic Programming, 25(3):191–247, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  16. R. Giacobazzi and F. Scozzari. A Logical Model for Relational Abstract Domains. ACM Transactions on Programming Languages and Systems, 20(5):1067–1109, 1998.

    Article  Google Scholar 

  17. A. Heaton, M. Abo-Zaed, M. Codish, and A. King. A Simple Polynomial Groundness Analysis for Logic Programs. Journal of Logic Programming, 45(1–3):143–156, 2000.

    Article  MATH  MathSciNet  Google Scholar 

  18. M. Hermenegildo, G. Puebla, K. Marriot, and P. Stuckey. Incremental Analysis of Constraint Logic Programs. ACM Transaction on Programming Languages and Systems, 22(2):187–223, 2000.

    Article  Google Scholar 

  19. J.M. Howe and A. King. Implementing Groundness Analysis with Definite Boolean Functions. In European Symposium on Programming, volume 1782 of Lecture Notes in Computer Science, pages 200–214. Springer-Verlag, 2000. Available at http://www.cs.ukc.ac.uk/pubs/2000/949/.

    Google Scholar 

  20. A. King and L. Lu. A Backwards Analysis for Constraint Logic Programs. Technical Report 4-01, University of Kent, 2001.

    Google Scholar 

  21. K. Marriott and H. Søndergaard. Precise and E.cient Groundness Analysis for Logic Programs. ACM Letters on Programming Languages and Systems, 2(4):181–196, 1993.

    Article  Google Scholar 

  22. G. Plotkin. A Note on Inductive Generalisation. Machine Intelligence, 5:153–163, 1970.

    MathSciNet  Google Scholar 

  23. P. Schachte. Precise and E.cient Static Analysis of Logic Programs. PhD thesis, Department of Computer Science, The University of Melbourne, Australia, 1999.

    Google Scholar 

  24. P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Evaluation of the Domain Prop. Journal of Logic Programming, 23(3):237–278, 1995.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Howe, J.M., King, A. (2001). Positive Boolean Functions as Multiheaded Clauses. In: Codognet, P. (eds) Logic Programming. ICLP 2001. Lecture Notes in Computer Science, vol 2237. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45635-X_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-45635-X_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42935-7

  • Online ISBN: 978-3-540-45635-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics