Abstract Interpretation: A Kind of Magic

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.

[1]  Melvin Fitting,et al.  A Kripke-Kleene Semantics for Logic Programs , 1985, J. Log. Program..

[2]  Hisao Tamaki,et al.  OLD Resolution with Tabulation , 1986, ICLP.

[3]  Ulf Nilsson,et al.  Logic, programming and Prolog , 1990 .

[4]  Ulf Nilsson,et al.  Systematic Semantic Approximations of Logic Programs , 1990, PLILP.

[5]  David Maier,et al.  Magic sets and other strange ways to implement logic programs (extended abstract) , 1985, PODS '86.

[6]  François Bry,et al.  Query Evaluation in Deductive Databases: Bottom-Up and Top-Down Reconciled , 1990, Data Knowl. Eng..

[7]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[8]  Patrick Cousot,et al.  Semantic foundations of program analysis , 1981 .

[9]  Kim Marriott,et al.  Semantics-Based Dataflow Analysis of Logic Programs , 1989, IFIP Congress.

[10]  Kim Marriott,et al.  Bottom-up Abstract Interpretation of Logic Programs , 1988, ICLP/SLP.

[11]  Maurice Bruynooghe,et al.  A Practical Framework for the Abstract Interpretation of Logic Programs , 1991, J. Log. Program..

[12]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[13]  Catriel Beeri,et al.  On the power of magic , 1987, J. Log. Program..

[14]  Robert A. Kowalski,et al.  The Semantics of Predicate Logic as a Programming Language , 1976, JACM.

[15]  Chris Mellish,et al.  Abstract Interpretation of Prolog Programs , 1986, ICLP.