Mutally Exclusive Rules in Logic Programming

A technique to detect that pairs of rules are “mutually exclusive” in a logic program is described. In contrast to previous work our algorithm derives mutual exclusion by looking not only on built-in, but also user-defined predicates. This technique has applications to optimization of the execution of programs containing these rules. Additionally, the programmer is less dependent on non-logical language features, such as Prolog’s “cut”, thus creating more opportunities for parallel execution strategies.

[1]  Yehoshua Sagiv,et al.  On Termination of Datalog Programs , 1989, DOOD.

[2]  Jeffrey D. Ullman,et al.  Efficient tests for top-down termination of logical rules , 1988, JACM.

[3]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..

[4]  Seif Haridi,et al.  ANDORRA Prolog - An Integration of Prolog and Committed Choice Languages , 1988, FGCS.

[5]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[6]  Saumya K. Debray,et al.  Functional computations in logic programs , 1989, TOPL.

[7]  Yehoshua Sagiv,et al.  Inference of Monotonicity Constraints in Datalog Programs , 1989, PODS.

[8]  Allen Van Gelder,et al.  Deriving constraints among argument sizes in logic programs , 1990, PODS '90.

[9]  Evan Tick,et al.  Compilation Techniques for Nondeterminate Flat Concurrent Logic Programming Languages , 1991, ICLP.

[10]  Lee Naish,et al.  NUA-Prolog: An Extension to the WAM for Parallel Andorra , 1991, ICLP.

[11]  Saumya K. Debray,et al.  Static inference of modes and data dependencies in logic programs , 1989, TOPL.

[12]  Rong Yang,et al.  The Andorra-I Preprocessor: Supporting Full Prolog on the Basic Andorra Model , 1991, ICLP.

[13]  Michael Codish,et al.  Bottum-up abstract interpretation of logic programs , 1992 .

[14]  Chris Mellish,et al.  Some Global Optimizations for a Prolog Compiler , 1985, J. Log. Program..

[15]  Allen Van Gelder,et al.  Termination detection in logic programs using argument sizes (extended abstract) , 1991, PODS.

[16]  Hajime Sawamura,et al.  Recursive Unsolvability of Determinacy, Solvable Cases of Determinancy and their Applications to Prolog Optimization , 1985, SLP.

[17]  Yehoshua Sagiv,et al.  Inference of monotonicity constraints in Datalog programs , 1989, PODS '89.

[18]  Yehoshua Sagiv,et al.  Inference of Inequality Constraints in Logic Programs. , 1991, PODS 1991.

[19]  Jean-Louis Lassez,et al.  Querying constraints , 1990, PODS '90.

[20]  Bart Demoen,et al.  Abstract Interpretation: Towards the Global Optimization of Prolog Programs , 1987, SLP.

[21]  Peter Van Roy,et al.  Can Logic Programming Execute as Fast as Imperative Programming? , 1990 .

[22]  Gabriel M. Kuper,et al.  Constraint Query Languages , 1995, J. Comput. Syst. Sci..