Skip to main content

Immediate fixpoints and their use in groundness analysis

  • Conference paper
  • First Online:

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

Abstract

A theorem by Schröder says that for a certain natural class of functions F: B → B defined on a Boolean lattice B, F(x)=F(F(F(x))) for all x ∃ B. An immediate corollary is that if such a function is monotonic then it is also idempotent, that is, F(x)=F(F(x)). We show how this corollary can be extended to recognize cases where recursive definitions can immediately be replaced by an equivalent closed form, that is, they can be solved without Kleene iteration. Our result applies more generally to distributive lattices. It has applications for example in the abstract interpretation of declarative programs and deductive databases. We exemplify this by showing how to accelerate simple cases of strictness analysis for first-order functional programs and, perhaps more successfully, groundness analysis for logic programs.

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

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. To appear in Science of Computer Programming.

    Google Scholar 

  2. T.-R. Chuang and B. Goldberg. A syntactic approach to fixed point computation on finite domains. Proc. 1992 ACM Conf. Lisp and Functional Programming, pages 109–118. ACM Press, 1992.

    Google Scholar 

  3. A. Cortesi, G. Filé and W. Winsborough. Prop revisited: Propositional formula as abstract domain for groundness analysis. Proc. Sixth Ann. IEEE Symp. Logic in Computer Science, pages 322–327. Amsterdam, The Netherlands, 1991.

    Google Scholar 

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

    Google Scholar 

  5. P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming 13 (2&3): 103–179, 1992.

    Google Scholar 

  6. K. Marriott and H. SØndergaard. Notes for a tutorial on abstract interpretation of logic programs. North American Conf. Logic Programming, Cleveland, Ohio, 1989.

    Google Scholar 

  7. K. Marriott and H. SØndergaard. Precise and efficient groundness analysis for logic programs. ACM Letters on Programming Languages and Systems 2 (1–4): 181–196, 1993.

    Google Scholar 

  8. A. Mycroft. Abstract Interpretation and Optimising Transformations for Applicative Programs. PhD Thesis, University of Edinburgh, Scotland, 1981.

    Google Scholar 

  9. F. Nielson and H. R. Nielson. Finiteness conditions for fixed point iteration. Proc. 1992 ACM Conf. Lisp and Functional Programming, pages 96–108. ACM Press, 1992.

    Google Scholar 

  10. F. Nielson and H. R. Nielson. Finiteness conditions for strictness analysis. In P. Cousot et al., Static Analysis: Proc. Third Int. Workshop. Lecture Notes in Computer Science 724, pages 194–205. Springer-Verlag, 1993.

    Google Scholar 

  11. H. R. Nielson and F. Nielson. Bounded fixed point iteration. Proc. Nineteenth Ann. ACM SIGPLAN-SIGACT Symp. Principles of Programming Languages, pages 71–82. ACM Press, 1992.

    Google Scholar 

  12. S. Rudeanu. Boolean Functions and Equations. North-Holland, 1974.

    Google Scholar 

  13. R. Sekar and I. V. Ramakrishnan. Fast strictness analysis based on demand propagation. ACM Trans. Programming Languages and Systems 17 (6): 896–937, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

V. Chandru V. Vinay

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

SØndergaard, H. (1996). Immediate fixpoints and their use in groundness analysis. In: Chandru, V., Vinay, V. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1996. Lecture Notes in Computer Science, vol 1180. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62034-6_63

Download citation

  • DOI: https://doi.org/10.1007/3-540-62034-6_63

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62034-1

  • Online ISBN: 978-3-540-49631-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics