Declarative Compilation for Constraint Logic Programming

We present a new declarative compilation of logic programs with constraints into variable-free relational theories which are then executed by rewriting. This translation provides an algebraic formulation of the abstract syntax of logic programs. Management of logic variables, unification, and renaming apart is completely elided in favor of algebraic manipulation of variable-free relation expressions. We prove the translation is sound, and the rewriting system complete with respect to traditional SLD semantics.

[1]  James Lipton,et al.  Combinatory Logic Programming: Computing in Relation Calculi , 1994, ILPS.

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

[3]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[4]  James Lipton,et al.  Using Relational Methods in Computer Science , 1998 .

[5]  Andrea Asperti,et al.  Projections Instead of Variables: A Category Theoretic Interpretation of Logic Programs , 1989, ICLP.

[6]  Christian Urban,et al.  Nominal unification , 2004, Theor. Comput. Sci..

[7]  Emilio Jesús Gallego Arias,et al.  First-order unification using variable-free relational algebra , 2011, Log. J. IGPL.

[8]  Gianluca Amato,et al.  On the algebraic structure of declarative programming languages , 2009, Theor. Comput. Sci..

[9]  James Lipton,et al.  A new framework for declarative programming , 2003, Theor. Comput. Sci..

[10]  Andre Scedrov,et al.  Categories, allegories , 1990, North-Holland mathematical library.

[11]  Ekaterina Komendantskaya,et al.  Coalgebraic Derivations in Logic Programming , 2011, CSL.

[12]  A. Tarski,et al.  A Formalization Of Set Theory Without Variables , 1987 .

[13]  Marco Bellia,et al.  C-Expressions: A Variable-Free Calculus for Equational Logic Programming , 1993, Theor. Comput. Sci..

[14]  Dov M. Gabbay,et al.  What Is Negation as Failure? , 2012, Logic Programs, Norms and Action.

[15]  Agostino Dovier,et al.  Technical Communications of the 28th International Conference on Logic Programming, ICLP 2012, September 4-8, 2012, Budapest, Hungary , 2012, International Conference on Logic Programming.

[16]  John Power,et al.  A Fibrational Semantics for Logic Programs , 1996, ELP.

[17]  Christian Urban,et al.  alpha-Prolog: A Logic Programming Language with Names, Binding and a-Equivalence , 2004, ICLP.

[18]  Rod M. Burstall,et al.  A Categorical Unification Algorithm , 1985, CTCS.

[19]  Giorgio Levi,et al.  A Theory of Observables for Logic Programs , 2001, Inf. Comput..

[20]  Emilio Jesús Gallego Arias,et al.  Logic Programming in Tabular Allegories , 2012, ICLP.

[21]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[22]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[23]  Gopalan Nadathur,et al.  Uniform Proofs as a Foundation for Logic Programming , 1991, Ann. Pure Appl. Log..

[24]  Jack Minker,et al.  Logic and Data Bases , 1978, Springer US.