An interactive semantics of logic programming

We apply to logic programming some recently emerging ideas from the field of reduction-bas ed communicating systems, with the aim of giving evidence of the hidden interactions and the coordination mechanisms that rule the operational machinery of such a programming paradigm. The semantic framework we have chosen for presenting our results is tile logic, which has the advantage of allowing a uniform treatment of goals and observations and of applying abstract categorical tools for proving the results. As main contributions, we mention the finitary presentation of abstract unification, and a concurrent and coordinated abstract sema ntics consistent with the most common semantics of logic programming. Moreover, the compositionality of the tile semantics is guaranteed by standard results, as it reduces to check that the tile syst ems associated to logic programs enjoy the tile decomposition property. An extension of the approach for handling constraint systems is also discussed.

[1]  Albert R. Meyer,et al.  Bisimulation can't be traced , 1988, POPL '88.

[2]  Jan Friso Groote,et al.  Structured Operational Semantics and Bisimulation as a Congruence , 1992, Inf. Comput..

[3]  Roberto Bruni,et al.  Zero-Safe Nets: Comparing the Collective and Individual Token Approaches , 2000, Inf. Comput..

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

[5]  Dale Miller Prolog: An Introduction to the Language and its Logic , 2002 .

[6]  Thom Frühwirth,et al.  Concurrent Constraint Logic Programming , 2003 .

[7]  G. Plotkin,et al.  Proof, language, and interaction: essays in honour of Robin Milner , 2000 .

[8]  Xinxin Liu,et al.  Compositionality through an Operational Semantics of Contexts , 1990, J. Log. Comput..

[9]  Andrew M. Pitts,et al.  Higher order operational techniques in semantics , 1999 .

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

[11]  F. W. Lawvere,et al.  FUNCTORIAL SEMANTICS OF ALGEBRAIC THEORIES. , 1963, Proceedings of the National Academy of Sciences of the United States of America.

[12]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[13]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..

[14]  Roberto Bruni,et al.  Bisimilarity Congruences for Open Terms and Term Graphs via Tile Logic , 2000, CONCUR.

[15]  R. Milner Calculi for interaction , 1996, Acta Informatica.

[16]  Giorgio Levi,et al.  Declarative Modeling of the Operational Behavior of Logic Languages , 1989, Theor. Comput. Sci..

[17]  Gopalan Nadathur,et al.  Higher-Order Logic Programming , 1986, ICLP.

[18]  Thom W. Frühwirth,et al.  Constraint Handling Rules , 2009, Constraint Programming.

[19]  Frank S. de Boer,et al.  Partial Order and SOS Semantics for Linear Constraint Programs , 1997, COORDINATION.

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

[21]  Karen L. Bernstein A congruence theorem for structured operational semantics of higher-order languages , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[22]  Ugo Montanari,et al.  Can Actors and pi-Agents Live Together? , 1998, HOOTS.

[23]  Robin Milner The Polyadic Pi-calculus (Abstract) , 1992, CONCUR.

[24]  Fabio Gadducci,et al.  The tile model , 2000, Proof, Language, and Interaction.

[25]  Peter Sewell,et al.  From rewrite rules to bisimulation congruences , 2002, Theor. Comput. Sci..

[26]  Arend Rensink,et al.  Bisimilarity of open terms , 1999, EXPRESS.

[27]  José Meseguer,et al.  Mapping tile logic into rewriting logic , 1997, WADT.

[28]  Peter J. Stuckey,et al.  Programming with Constraints: An Introduction , 1998 .

[29]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[30]  Giorgio Levi,et al.  A Synchronization Logic: Axiomatics and Formal Semantics of Generalized Horn Clauses , 1984, Inf. Control..

[31]  Ugo Montanari,et al.  Dynamic congruence vs. progressing bisimulation for CCS , 1992, Fundam. Informaticae.

[32]  Maurizio Gabbrielli,et al.  A Compositional Semantics for Logic Programs , 1994, Theor. Comput. Sci..

[33]  Gian Luigi Ferrari,et al.  Tile Formats for Located and Mobile Systems , 2000, Inf. Comput..

[34]  Robin Milner,et al.  Deriving Bisimulation Congruences for Reactive Systems , 2000, CONCUR.

[35]  Roberto Bruni,et al.  Cartesian closed double categories, their lambda-notation, and the pi-calculus , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[36]  Haim Gaifman,et al.  Fully abstract compositional semantics for logic programs , 1989, POPL '89.

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

[38]  R. Bruni Tile Logic for Synchronized Rewriting of Concurrent Systems , 1999 .

[39]  Joseph A. Goguen,et al.  What Is Unification?: A Categorical View of Substitution, Equation and Solution , 1989 .

[40]  Roberto Bruni,et al.  Open Ended Systems, Dynamic Bisimulation and Tile Logic , 2000, IFIP TCS.

[41]  Paolo Mancarella,et al.  An Algebra of Logic Programs , 1988, ICLP/SLP.

[42]  J. Meseguer,et al.  Process and Term Tile Logic , 1998 .

[43]  Roberto Bruni,et al.  Executable Tile Specifications for Process Calculi , 1999, FASE.

[44]  MeseguerJosé Conditional rewriting logic as a unified model of concurrency , 1992 .

[45]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[46]  Robert de Simone,et al.  Higher-Level Synchronising Devices in Meije-SCCS , 1985, Theor. Comput. Sci..

[47]  Ugo Montanari,et al.  An Algebraic Semantics for Structured Transition Systems and its Applications to Logic Programs , 1992, Theor. Comput. Sci..

[48]  Maurizio Gabbrielli,et al.  The s-Semantics Approach: Theory and Applications , 1994, J. Log. Program..

[49]  Roberto Bruni,et al.  Symmetric monoidal and cartesian double categories as a semantic framework for tile logic , 2002, Mathematical Structures in Computer Science.