Hostname: page-component-76fb5796d-r6qrq Total loading time: 0 Render date: 2024-04-26T04:25:08.177Z Has data issue: false hasContentIssue false

Convergence in infinitary term graph rewriting systems is simple

Published online by Cambridge University Press:  09 August 2018

PATRICK BAHR*
Affiliation:
Computer Science Department, IT University of Copenhagen, 2300 Copenhagen, Denmark Email: paba@itu.dk

Abstract

Term graph rewriting provides a formalism for implementing term rewriting in an efficient manner by emulating duplication via sharing. Infinitary term rewriting has been introduced to study infinite term reduction sequences. Such infinite reductions can be used to model non-strict evaluation. In this paper, we unify term graph rewriting and infinitary term rewriting thereby addressing both components of lazy evaluation: non-strictness and sharing. In contrast to previous attempts to formalise infinitary term graph rewriting, our approach is based on a simple and natural generalisation of the modes of convergence of infinitary term rewriting. We show that this new approach is better suited for infinitary term graph rewriting as it is simpler and more general. The latter is demonstrated by the fact that our notions of convergence give rise to two independent canonical and exhaustive constructions of infinite term graphs from finite term graphs via metric and ideal completion. In addition, we show that our notions of convergence on term graphs are sound w.r.t. the ones employed in infinitary term rewriting in the sense that convergence is preserved by unravelling term graphs to terms. Moreover, the resulting infinitary term graph calculi provide a unified framework for both infinitary term rewriting and term graph rewriting, which makes it possible to study the correspondences between these two worlds more closely.

Type
Paper
Copyright
Copyright © Cambridge University Press 2018 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Ariola, Z. and Blom, S. (2005). Skew and ω-skew confluence and abstract Böhm semantics. Middeldorp, A., van Oostrom, V., vanRaamsdonk, F. Raamsdonk, F. and de Vrijer, R. (eds.) Processes, Terms and Cycles: Steps on the Road to Infinity, Lecture Notes in Computer Science, vol. 3838, Springer, Berlin, Heidelberg, 368403.Google Scholar
Ariola, Z. M. and Blom, S. (2002). Skew confluence and the lambda calculus with letrec. Annals of Pure and Applied Logic 117 (1–3) 95168.Google Scholar
Ariola, Z.M. and Klop, J.W. (1997). Lambda calculus with explicit recursion. Information and Computation 139 (2) 154233.Google Scholar
Arnold, A. and Nivat, M. (1980). The metric space of infinite trees. Algebraic and topological properties. Fundamenta Informaticae 3 (4) 445476.Google Scholar
Bahr, P. (2009). Infinitary Rewriting – Theory and Applications. Master's Thesis, Vienna University of Technology, Vienna.Google Scholar
Bahr, P. (2010). Abstract models of transfinite reductions. In Lynch, C. (ed.) Proceedings of the 21st International Conference on Rewriting Techniques and Applications, Leibniz International Proceedings in Informatics, vol. 6, Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 49–66.Google Scholar
Bahr, P. (2012a). Infinitary term graph rewriting is simple, sound and complete. Tiwari, A. (ed.) Proceedings of the 23rd International Conference on Rewriting Techniques and Applications, Leibniz International Proceedings in Informatics, vol. 15, Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 69–84.Google Scholar
Bahr, P. (2012b). Modes of convergence for term graph rewriting. Logical Methods in Computer Science 8 (2) 160.Google Scholar
Bahr, P. (2014). Partial order infinitary term rewriting. Logical Methods in Computer Science 10 (2) 152.Google Scholar
Barendregt, H.P., vanEekelen, M.C.J.D. Eekelen, M.C.J.D., Glauert, J.R.W., Kennaway, R., Plasmeijer, M.J. and Sleep, M.R. (1987). Term graph rewriting. In: de Bakker, A. J. Nijman and Treleaven, P.C. (ed.) Parallel Architectures and Languages Europe, Volume II: Parallel Languages. Lecture Notes in Computer Science, vol. 259, Springer, Berlin, Heidelberg, 141158.Google Scholar
Barendsen, E. (2003). Term graph rewriting. In: Terese (ed.) Term Rewriting Systems, 1st edn., Cambridge University Press, Chap. 13, 712743.Google Scholar
Barr, M. (1993). Terminal coalgebras in well-founded set theory. Theoretical Computer Science 114 (2) 299315.Google Scholar
Berry, G. and Lévy, J.-J. (1977). Minimal and optimal computations of recursive programs. In: Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. ACM, New York, NY, USA, 215–226.Google Scholar
Dershowitz, N., Kaplan, S. and Plaisted, D.A. (1991). Rewrite, rewrite, rewrite, rewrite, rewrite, . . . Theoretical Computer Science 83 (1) 7196.Google Scholar
Goguen, J.A., Thatcher, J.W., Wagner, E.G. and Wright, J.B. (1977). Initial algebra semantics and continuous algebras. Journal of the ACM 24 (1) 6895.Google Scholar
Henderson, P. and Morris, J.H. Jr. (1976). A lazy evaluator. In: Proceedings of the 3rd ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. ACM, New York, NY, USA, 95–103.Google Scholar
Hughes, J. (1989). Why functional programming matters. The Computer Journal 32 (2) 98107.Google Scholar
Kahn, G. and Plotkin, G.D. (1993). Concrete domains. Theoretical Computer Science 121 (1–2) 187277.Google Scholar
Kelley, J.L. (1955). General Topology, Graduate Texts in Mathematics, vol. 27, Springer-Verlag.Google Scholar
Kennaway, R. (1992). On transfinite abstract reduction systems. Technical report, CWI (Centre for Mathematics and Computer Science), Amsterdam.Google Scholar
Kennaway, R. and de Vries, F.-J. (2003). Infinitary rewriting. In: Terese (ed.) Term Rewriting Systems, 1st edn., Cambridge University Press, Chap. 12, 668711.Google Scholar
Kennaway, R., Klop, J. W., Sleep, M.R. and de Vries, F.-J. (1994). On the adequacy of graph rewriting for simulating term rewriting. ACM Transactions on Programming Languages and Systems 16 (3) 493523.Google Scholar
Kennaway, R., Klop, J.W., Sleep, M.R. and de Vries, F.-J. (1995). Transfinite reductions in orthogonal term rewriting systems. Information and Computation 119 (1) 1838.Google Scholar
Marlow, S. (2010). Haskell 2010 Language Report. Available at: https://www.haskell.org/onlinereport/haskell2010/Google Scholar
Peyton-Jones, S. (1987). The Implementation of Functional Programming Languages, Prentice Hall.Google Scholar
Plasmeijer, R. and van Eekelen, M.C.J.D. (1993). Functional Programming and Parallel Graph Rewriting, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.Google Scholar
Plump, D. (1999). Term graph rewriting. In: Ehrig, H., Engels, G., Kreowski, H.-J. and Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformation, Volume 2: Applications, Languages, and Tools, World Scientific Publishing Co., Inc. River Edge, NJ, USA, 361.Google Scholar
Terese (2003). Term Rewriting Systems, 1st edn., Cambridge University Press.Google Scholar