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.
References
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.
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.
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.
A. Cortesi, B. Le Charlier and P. Van Hentenryck. Evaluation of the domain Prop. Journal of Logic Programming 23 (3): 237–278, 1995.
P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming 13 (2&3): 103–179, 1992.
K. Marriott and H. SØndergaard. Notes for a tutorial on abstract interpretation of logic programs. North American Conf. Logic Programming, Cleveland, Ohio, 1989.
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.
A. Mycroft. Abstract Interpretation and Optimising Transformations for Applicative Programs. PhD Thesis, University of Edinburgh, Scotland, 1981.
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.
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.
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.
S. Rudeanu. Boolean Functions and Equations. North-Holland, 1974.
R. Sekar and I. V. Ramakrishnan. Fast strictness analysis based on demand propagation. ACM Trans. Programming Languages and Systems 17 (6): 896–937, 1995.
Author information
Authors and Affiliations
Editor information
Rights 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