Abstract
Magic sets and, more recently, magic templates are used in the field of deductive databases to facilitate efficient bottom up evaluation of database queries. Roughly speaking a top down computation is simulated by first transforming the program and then executing the new program bottom up. In this paper we give a new and very simple proof that this approach is equivalent to the collecting interpretation of the abstract interpretation framework of C. Mellish. As a side-effect we also prove that “bottom up” abstract interpretation based on the magic templates transformation is equally powerful as this particular abstract interpretation framework, but less powerful than other (more precise) abstract interpretation frameworks.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
F. Bancilhon et al. Magic Sets and Other Strange Ways to Implement Logic Programs. In Proc. of 5th ACM Symposium on Principles of Database Systems, pages 1–15, 1986.
C. Beeri and R. Ramakrishnan. On the Power of Magic. In Proc of 6th Symposium on Principles of Database Systems, pages 269–283, 1987.
M. Bruynooghe. A Practical Framework for the Abstract Interpretation of Logic Programs. To appear in J. Logic Programming, 1990.
F. Bry. Query Evaluation in Recursive Databases: Bottom-up and Top-down Reconciled. Data and Knowledge Engineering, 1990. To appear.
P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs By Construction or Approximation of Fixpoints. In Conf. Record of Fourth ACM Symposium on POPL, pages 238–252, Los Angeles, 1977.
P. Cousot. Semantic Foundations of Program Analysis. In S. Muchnick and N.D. Jones, editors, Program Flow Analysis, pages 303–342. Prentice Hall, 1981.
M. van Emden and R. Kowalski. The Semantics of Predicate Logic as a Programming Language. J. of ACM, 23(4):733–742, 1976.
M. Fitting. A Kripke-Kleene Semantics for Logic Programs. J. of Logic Programming, 2(4):295–312, 1985.
N.D. Jones and H. Søndergaard. A Semantics-Based Framework for the Abstract Interpretation of Prolog. In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages, pages 123–142. Ellis Horwood, 1987.
T. Kanamori. Abstract Interpretation Based On Alexander Templates. Technical Report TR-549, ICOT, 1990.
T. Kanamori and T. Kawamura. Analyzing Success Patterns of Logic Programs by Abstract Hybrid Interpretation. Technical Report TR-279, ICOT, 1987.
J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, second edition, 1987.
C. Mellish. Abstract Interpretation of Prolog Programs. In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages, pages 181–198. Ellis Horwood, 1987.
C. Mellish. Using Specialisation to Reconstruct Two Mode Inference Systems, 1990.
K. Marriott and H. Søndergaard. Bottom-up Abstract Interpretation of Logic Programs. In Proc. of Fifth International Conf/Symposium on Logic Programming, Seattle, pages 733–748. MIT Press, 1988.
K. Marriott and H. Søndergaard. Semantics-Based Dataflow Analysis of Logic Programs. In G. Ritter, editor, Information Processing 89, pages 601–605. North-Holland, 1989.
U. Nilsson. Systematic Semantic Approximations of Logic Programs. In Programming Language Implementation and Logic Programming 90, Lecture Notes in Computer Science 456, pages 293–306. Springer-Verlag, 1990.
U. Nilsson and J. Małuszyński. Logic, Programming and Prolog, John Wiley & Sons, 1990.
R. Ramakrishnan. Magic Templates: A Spellbounding Approach to Logic Programming. In Proc. of Fifth International Conf/Symposium on Logic Programming, Seattle, pages 140–159. MIT Press, 1988.
J. Rohmer, R. Lescoeur, and J.-M. Kerisit. The Alexander Method—A Technique For the Processing of Recursive Axioms in Deductive Databases. New Generation Computing, 4(3):273–285, 1986.
H. Tamaki and T. Sato. OLD Resolution with Tabulation. In E Shapiro, editor, Proc. of Third International Conf. on Logic Programming, London, Lecture Notes in Computer Science 225, pages 84–98. Springer-Verlag, 1986.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nilsson, U. (1991). Abstract interpretation: A kind of magic. In: Maluszyński, J., Wirsing, M. (eds) Programming Language Implementation and Logic Programming. PLILP 1991. Lecture Notes in Computer Science, vol 528. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54444-5_107
Download citation
DOI: https://doi.org/10.1007/3-540-54444-5_107
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54444-9
Online ISBN: 978-3-540-38362-8
eBook Packages: Springer Book Archive