A Succinct Solver for ALFP

We develop a solver algorithm which allows to efficiently compute the stable model of a very expressive fragment of predicate logic. The succinct formulation of the algorithm is due to the disciplined use of continuations and memoisation. This facilitates giving a precise characterisation of the behaviour of the solver and to develop a complexity calculation which allows to obtain its formal complexity. Practical experiments on a control-flow analysis of the ambient calculus show that the solver frequently performs better than the worst-case complexity estimates.

[1]  Michael J. Maher,et al.  Foundations of Deductive Databases and Logic Programming , 1988 .

[2]  Davide Sangiorgi,et al.  Controlling interference in ambients , 2000, POPL '00.

[3]  Helmut Seidl,et al.  A Faster Solver for General Systems of Equations , 1999, Sci. Comput. Program..

[4]  Kotagiri Ramamohanarao,et al.  A Generalization of the Differential Approach to Recursive Query Evaluation , 1987, J. Log. Program..

[5]  Flemming Nielson,et al.  Security for Mobility , 2002, FOSAD.

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

[7]  S. Sudarshan,et al.  Optimizing Bottom-Up Query Evaluation for Deductive Databases , 1992 .

[8]  Elias Dahlhaus,et al.  Skolem Normal Forms Concerning the Least Fixpoint , 1987, Computation Theory and Logic.

[9]  Pascal Van Hentenryck,et al.  A Universal Top-Down Fixpoint Algorithm , 1992 .

[10]  Robert Paige,et al.  Symbolic Finite Differencing - Part I , 1990, ESOP.

[11]  David Harel,et al.  Computable Queries for Relational Data Bases , 1980, J. Comput. Syst. Sci..

[12]  Flemming Nielson,et al.  Experiments with Succinct Solvers , 2002 .

[13]  Robin Milner,et al.  Definition of standard ML , 1990 .

[14]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[15]  Phokion G. Kolaitis Implicit definability on finite structures and unambiguous computations , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[16]  David A. McAllester On the complexity analysis of static analyses , 1999, JACM.

[17]  Sundararajarao Sundarshan Optimizing bottom-up query evaluation for deductive databases , 1992 .

[18]  Jean H. Gallier,et al.  Linear-Time Algorithms for Testing the Satisfiability of Propositional Horn Formulae , 1984, J. Log. Program..

[19]  Flemming Nielson,et al.  Automatic Complexity Analysis , 2002, ESOP.

[20]  Alexander Aiken,et al.  Introduction to Set Constraint-Based Program Analysis , 1999, Sci. Comput. Program..

[21]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[22]  James Harland,et al.  Success and Failure for Hereditary Harrop Formulae , 1993, J. Log. Program..

[23]  Igor L. Markov,et al.  Faster SAT and smaller BDDs via common function structure , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[24]  Helmut Seidl,et al.  Propagating Differences: An Efficient New Fixpoint Algorithm for Distributive Constraint Systems , 1998, Nord. J. Comput..

[25]  David Scott Warren,et al.  A System for Tabled Constraint Logic Programming , 2000, Computational Logic.

[26]  R. Paige Symbolic finite differencing, part I (invited lecture) , 1990 .

[27]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[28]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[29]  Flemming Nielson,et al.  Control-Flow Analysis in Cubic Time , 2001, ESOP.