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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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
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
Hutching AMJ, Bowen DL, Byrd L, et al. Edinburgh Prolog (The New Implementation) User’s Manual. AI Applications Institute, University of Edinburgh, 1987
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
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
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
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
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
Sato T, Tamaki H. Enumeration of success patterns in logic programs. Theoretical Computer Science, 34:227–240, 1984
Van Emden MH, Kowalski RA. The semantics of predicate logic as a programming language. Artificial Intelligence, 23:733–742, 1976
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
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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