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.
Keywords
Work supported by EPSRC Grant GR/MO8769.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
M. Codish. Efficient Goal Directed Bottom-up Evaluation of Logic Programs. Journal of Logic Programming, 38(3):355–370, 1999.
M. Codish. Worst-Case Groundness Analysis using Positive Boolean Functions. Journal of Logic Programming, 41(1):125–128, 1999.
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.
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.
P. Dart. On Derived Dependencies and Connected Databases. Journal of Logic Programming, 11(1–2):163–188, 1991.
C. Fecht. Abstrakte Interpretation logischer Programme: Theorie, Implementierung, Generierung. PhD thesis, Universität des Saarlandes, 1997.
C. Fecht and H. Seidl. A Faster Solver for General Systems of Equations. Science of Computer Programming, 35(2–3):137–162, 1999.
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.
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.
S. Genaim, J.M. Howe, and M. Codish. Worst-Case Groundness Analysis using Definite Boolean Functions. Theory and Practice of Logic Programming, 2001. Forthcoming.
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.
R. Giacobazzi and F. Scozzari. A Logical Model for Relational Abstract Domains. ACM Transactions on Programming Languages and Systems, 20(5):1067–1109, 1998.
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.
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.
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/.
A. King and L. Lu. A Backwards Analysis for Constraint Logic Programs. Technical Report 4-01, University of Kent, 2001.
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.
G. Plotkin. A Note on Inductive Generalisation. Machine Intelligence, 5:153–163, 1970.
P. Schachte. Precise and E.cient Static Analysis of Logic Programs. PhD thesis, Department of Computer Science, The University of Melbourne, Australia, 1999.
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Evaluation of the Domain Prop. Journal of Logic Programming, 23(3):237–278, 1995.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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