The algebra of recursive graph transformation language UnCAL: complete axiomatisation and iteration categorical semantics

The aim of this paper is to provide mathematical foundations of a graph transformation language, called UnCAL, using categorical semantics of type theory and fixed points. About twenty years ago, Buneman et al. developed a graph database query language UnQL on the top of a functional meta-language UnCAL for describing and manipulating graphs. Recently, the functional programming community has shown renewed interest in UnCAL, because it provides an efficient graph transformation language which is useful for various applications, such as bidirectional computation. In order to make UnCAL more flexible and fruitful for further extensions and applications, in this paper, we give a more conceptual understanding of UnCAL using categorical semantics. Our general interest of this paper is to clarify what is the algebra of UnCAL. Thus, we give an equational axiomatisation and categorical semantics of UnCAL, both of which are new. We show that the axiomatisation is complete for the original bisimulation semantics of UnCAL. Moreover, we provide a clean characterisation of the computation mechanism of UnCAL called "structural recursion on graphs" using our categorical semantics. We show a concrete model of UnCAL given by the lambdaG-calculus, which shows an interesting connection to lazy functional programming.

[1]  Dan Suciu,et al.  Adding Structure to Unstructured Data , 1997, ICDT.

[2]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[3]  Sam Staton,et al.  Relating Coalgebraic Notions of Bisimulation , 2009, CALCO.

[4]  Zena M. Ariola,et al.  Equational Term Graph Rewriting , 1996, Fundam. Informaticae.

[5]  Ross Paterson,et al.  A new notation for arrows , 2001, ICFP '01.

[6]  Makoto Hamana Correct Looping Arrows from Cyclic Terms - Traced Categorical Interpretation in Haskell , 2012, FLOPS.

[7]  Tatsuya Hagino,et al.  A Typed Lambda Calculus with Categorical Type Constructors , 1987, Category Theory and Computer Science.

[8]  Marcelo P. Fiore,et al.  The Algebra of Directed Acyclic Graphs , 2013, Computation, Logic, Games, and Quantum Foundations.

[9]  Robin Milner,et al.  A Complete Inference System for a Class of Regular Behaviours , 1984, J. Comput. Syst. Sci..

[10]  Samson Abramsky,et al.  Domain theory , 1995, LICS 1995.

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

[12]  G. Winskel The formal semantics of programming languages , 1993 .

[13]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[14]  Yijun Yu,et al.  Maintaining invariant traceability through bidirectional transformations , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[15]  Jan Willem Klop,et al.  Combinatory reduction systems , 1980 .

[16]  Stefan Blom,et al.  Cyclic Lambda Calculi , 1997, TACS.

[17]  Christoph Lüth,et al.  Monads of coalgebras: rational terms and term graphs , 2005, Math. Struct. Comput. Sci..

[18]  Zoltán Ésik Axiomatizing Iteration Categories , 1999, Acta Cybern..

[19]  Masahito Hasegawa,et al.  Models of sharing graphs : a categorical semantics of let and letrec , 1999 .

[20]  Jean-Pierre Jouannaud,et al.  Inductive-data-type systems , 2002, Theor. Comput. Sci..

[21]  Zoltán Ésik,et al.  Continuous Additive Algebras and Injective Simulations of Synchronization Trees , 2000, J. Log. Comput..

[22]  Zoltán Ésik,et al.  Solving Polynomial Fixed Point Equations , 1994, MFCS.

[23]  Arto Salomaa,et al.  Two Complete Axiom Systems for the Algebra of Regular Events , 1966, JACM.

[24]  Alexandra Silva,et al.  Non-Deterministic Kleene Coalgebras , 2010, Log. Methods Comput. Sci..

[25]  Soichiro Hidaka,et al.  Structural recursion for querying ordered graphs , 2013, ICFP.

[26]  Frédéric Blanqui,et al.  Termination and Confluence of Higher-Order Rewrite Systems , 2000, RTA.

[27]  Dan Suciu,et al.  A query language and optimization techniques for unstructured data , 1996, SIGMOD '96.

[28]  Lambert G. L. T. Meertens,et al.  Paramorphisms , 2005, Formal Aspects of Computing.

[29]  Gordon D. Plotkin,et al.  Complete axioms for categorical fixed-point operators , 2000, Proceedings Fifteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.99CB36332).

[30]  Jeremy Gibbons,et al.  An Initial-Algebra Approach to Directed Acyclic Graphs , 1995, MPC.

[31]  Sebastian Fischer,et al.  Purely functional lazy nondeterministic programming , 2011, J. Funct. Program..

[32]  Kazutaka Matsuda,et al.  Marker-Directed Optimization of UnCAL Graph Transformations , 2011, LOPSTR.

[33]  Nick Benton,et al.  Traced Premonoidal Categories , 2003, RAIRO Theor. Informatics Appl..

[34]  Neil Immerman,et al.  Languages that Capture Complexity Classes , 1987, SIAM J. Comput..

[35]  Leonid Libkin An elementary proof that upper and lower powerdomain constructions commute , 1992, Bull. EATCS.

[36]  Keishi Tajima,et al.  An equational object-oriented data model and its data-parallel query language , 1996, OOPSLA '96.

[37]  Roberto M. Amadio,et al.  Domains and lambda-calculi , 1998, Cambridge tracts in theoretical computer science.

[38]  Zoltán Ésik Axiomatizing the Least Fixed Point Operation and Binary Supremum , 2000, CSL.

[39]  Dominic R. Verity,et al.  ∞-Categories for the Working Mathematician , 2018 .

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

[41]  Joseph A. Goguen,et al.  Initial Algebra Semantics and Continuous Algebras , 1977, J. ACM.

[42]  Atsushi Ohori,et al.  Parallel functional programming on recursively defined data via data-parallel recursion , 1999, Journal of Functional Programming.

[43]  Vincent van Oostrom,et al.  Combinatory Reduction Systems: Introduction and Survey , 1993, Theor. Comput. Sci..

[44]  Masahito Hasegawa,et al.  Recursion from Cyclic Sharing: Traced Monoidal Categories and Models of Cyclic Lambda Calculi , 1997, TLCA.

[45]  Kazutaka Matsuda,et al.  Graph Transformation as Graph Reduction FUnCAL: A Functional Reformulation of Graph-Transformation Language UnCAL , 2015 .

[46]  John Launchbury,et al.  A natural semantics for lazy evaluation , 1993, POPL '93.

[47]  Makoto Hamana Strongly Normalising Cyclic Data Computation by Iteration Categories of Second-Order Algebraic Theories , 2016, FSCD.

[48]  Zoltán Ésik,et al.  Group Axioms for Iteration , 1999, Inf. Comput..

[49]  Robin Milner,et al.  Calculi for interaction , 1996, Acta Informatica.

[50]  Robin Milner,et al.  Pure bigraphs: Structure and dynamics , 2006, Inf. Comput..

[51]  Makoto Hamana,et al.  Initial Algebra Semantics for Cyclic Sharing Tree Structures , 2010, Log. Methods Comput. Sci..

[52]  OhoriAtsushi,et al.  Parallel functional programming on recursively defined data via data-parallel recursion , 1999 .

[53]  Zoltán Ésik,et al.  Iteration Theories of Synchronization Trees , 1993, Inf. Comput..

[54]  Roy L. Crole,et al.  Categories for Types , 1994, Cambridge mathematical textbooks.

[55]  Jirí Adámek,et al.  What Are Iteration Theories? , 2007, MFCS.

[56]  A. Pitts INTRODUCTION TO HIGHER ORDER CATEGORICAL LOGIC (Cambridge Studies in Advanced Mathematics 7) , 1987 .

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

[58]  Kazutaka Matsuda,et al.  Bidirectionalizing graph transformations , 2010, ICFP '10.

[59]  Makoto Hamana,et al.  Iteration Algebras for UnQL Graphs and Completeness for Bisimulation , 2015, FICS.

[60]  Soichiro Hidaka,et al.  A parameterized graph transformation calculus for finite graphs with monadic branches , 2013, PPDP.

[61]  Masahito Hasegawa,et al.  Small-step and big-step semantics for call-by-need , 2009, J. Funct. Program..

[62]  S. Maclane,et al.  Categorical Algebra , 2007 .

[63]  Martín Abadi,et al.  Theoretical Aspects of Computer Software , 1991, Lecture Notes in Computer Science.

[64]  Zhenjiang Hu,et al.  GRoundTram: An integrated framework for developing well-behaved bidirectional model transformations , 2011 .

[65]  Robin Milner,et al.  Axioms for bigraphical structure , 2005, Mathematical Structures in Computer Science.

[66]  Chang Liu,et al.  Term rewriting and all that , 2000, SOEN.

[67]  Z. Ésik,et al.  Iteration Theories: The Equational Logic of Iterative Processes , 1993 .

[68]  Dan Suciu,et al.  UnQL: a query language and algebra for semistructured data based on structural recursion , 2000, The VLDB Journal.

[69]  Peter Buneman Databases and Programming: Two Subjects Divided by a Common Language? , 2015, POPL.

[70]  Thierry Coquand,et al.  Pattern Matching with Dependent Types , 1992 .

[71]  Nick Bezhanishvili,et al.  Finitely generated free Heyting algebras via Birkhoff duality and coalgebra , 2011, Log. Methods Comput. Sci..

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

[73]  Peter Sewell,et al.  The Algebra of Finite State Processes , 1995 .

[74]  Peter Aczel,et al.  Infinite trees and completely iterative theories: a coalgebraic view , 2003, Theor. Comput. Sci..