GS·Λ Theories

Abstract Graphs and term graphs have proved strikingly flexible and expressive in modeling and specifying distributed, concurrent systems. However, even if the theory of (term) graph transformation systems is well developed, it has not yet included higher-order features, which are essential, in ordinary programming languages, to guarantee the levels of parametrisation and modularity that are required in practice. Our proposal aims at filling that gap by equipping graph-based formalisms with higher-order constructs. Our starting point has been graph substitution (gs) theories by Corradini and Gadducci, which are proved to be syntactical counterparts for term graphs (in the same way as algebraic theories are for terms). As for cartesian categories, gs categories specify symmetric monoidal categories equipped with two transformations, representing sub-term copying and garbage collection. However, for gs theories the naturality of these transformations does not hold. GS·Λ theories enrich gs theories by requiring the existence of a right adjoint a ⊸ _ to the tensor _⊗ a , for each object a . As such, they can be considered as transformation enriched autonomous categories. The resulting categories are tightly linked to the higher-order sharing theories introduced by Hasegawa: these latter are in fact reflective sub-categories of GS·Λ theories, since they are captured by an equivalent axiomatisation, except for the laws concerning the duplication of a set of values (namely, of λ-abstractions, interpreted as finished computations). Dropping those axioms allow for a neat graphical representation, expanding the wire-and-box notation developed for gs theories in a conservative manner.

[1]  Y. Lafont Applications of Categories in Computer Science: Penrose diagrams and 2-dimensional rewriting , 1992 .

[2]  Edmund Robinson,et al.  Premonoidal categories and notions of computation , 1997, Mathematical Structures in Computer Science.

[3]  Fabio Gadducci,et al.  A 2-Categorical Presentation of Term Graph Rewriting , 1997, Category Theory and Computer Science.

[4]  Roberto Bruni,et al.  Normal forms for algebras of connection , 2002, Theor. Comput. Sci..

[5]  Thomas A. O. Fox Coalgebras and cartesian categories , 1976 .

[6]  Fabio Gadducci,et al.  Rewriting on cyclic structures: Equivalence between the operational and the categorical description , 1999, RAIRO Theor. Informatics Appl..

[7]  Alan Jeffrey,et al.  A Categorical and Graphical Treatment of Closure Conversion , 1999, MFPS.

[8]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[9]  Carsten Führmann,et al.  Varieties of Effects , 2002, FoSSaCS.

[10]  Yves Lafont Equational Reasoning with Two-Dimensional Diagrams , 1993, Term Rewriting.

[11]  Fabio Gadducci,et al.  An Algebraic Presentation of Term Graphs, via GS-Monoidal Categories , 1999, Appl. Categorical Struct..

[12]  Berthold Hoffmann,et al.  Hierarchical Graph Transformation , 2002, J. Comput. Syst. Sci..

[13]  Fabio Gadducci,et al.  Comparing logics for rewriting: rewriting logic, action calculi and tile logic , 2002, Theor. Comput. Sci..

[14]  Virgil Emil Cazanescu,et al.  A General Result on Abstract Flowchart Schemes with Applications to the Study of Accessibility, Reduction and Minimization , 1992, Theor. Comput. Sci..

[15]  Wolfram Kahl Parallel composition and decomposition of specifications , 2001, Inf. Sci..

[16]  Ross Street,et al.  Traced monoidal categories , 1996 .

[17]  Ian Mackie,et al.  An internal language for autonomous categories , 1993, Theory and Formal Methods.

[18]  Reiko Heckel,et al.  A Bi-Categorical Axiomatisation of Concurrent Graph Rewriting , 1999, CTCS.

[19]  C. Barry Jay,et al.  Languages for monoidal categories , 1989 .

[20]  G. M. Kelly Many-variable functorial calculus. I. , 1972 .

[21]  Fabio Gadducci,et al.  On The Algebraic Approach To Concurrent Term Rewriting , 1996 .

[22]  Masahito Hasegawa,et al.  Models of Sharing Graphs , 1999, Distinguished Dissertations.