Hostname: page-component-77c89778f8-sh8wx Total loading time: 0 Render date: 2024-07-21T13:56:47.076Z Has data issue: false hasContentIssue false

Term graph narrowing

Published online by Cambridge University Press:  19 April 2018

Annegret Habel
Affiliation:
Universität Hildesheim, Institut für Informatik, Marienburger Platz 22, 31141 Hildesheim, Germany
Detlef Plump
Affiliation:
Universität Bremen, Fachbereich Mathematik und Informatik, Postfach 33 04 40, 28334 Bremen, Germany

Abstract

We introduce term graph narrowing as an approach for solving equations by transformations on term graphs. Term graph narrowing combines term graph rewriting with first-order term unification. Our main result is that this mechanism is complete for all term rewriting systems over which term graph rewriting is normalizing and confluent. This includes, in particular, all convergent term rewriting systems. Completeness means that for every solution of a given equation, term graph narrowing can find a more general solution. The general motivation for using term graphs instead of terms is to improve efficiency: sharing common subterms saves space and avoids the repetition of computations.

Type
Research Article
Copyright
Copyright © Cambridge University Press 1996

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

Apt, K. R. (1990) Logic programming. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, Volume B, Chapter 10, Elsevier.Google Scholar
Corradini, A. and Wolz, D. (1994) Jungle rewriting: an abstract description of a lazy narrowing machine. In: Proc. Graph Transformations in Computer Science. Springer-Verlag Lecture Notes in Computer Science 776 119137.Google Scholar
Dershowitz, N. and Jouannaud, J.-R (1990) Rewrite systems. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, Volume B, Chapter 6, Elsevier.Google Scholar
Fay, M. (1979) First-order unification in an equational theory. In: Proc. 4th Workshop on Automated Deduction, Austin, Texas. Academic Press 161167.Google Scholar
Habel, A. (1992) Hyperedge Replacement: Grammars and Languages. Springer-Verlag Lecture Notes in Computer Science 643.Google Scholar
Habel, A. and Plump, D. (1995) Unification, rewriting, and narrowing on term graphs. In: Proc. Joint COMPUGRAPH/SEMAGRAPH Workshop on Graph Rewriting and Computation (SEGRAGRA ’95). Electronic Notes in Theoretical Computer Science, Volume 2, Elsevier.Google Scholar
Hanus, M. (1994) The integration of functions into logic programming: From theory to practice. The Journal of Logic Programming 19 & 20 583628.CrossRefGoogle Scholar
Hoffmann, B. and Plump, D. (1991) Implementing term rewriting by jungle evaluation. RAIRO Theoretical Informatics and Applications 25 (5) 445^172.CrossRefGoogle Scholar
Hullot, J.-M. (1980) Canonical forms and unification. In: Proc. 5th International Conference on Automated Deduction. Springer-Verlag Lecture Notes in Computer Science 87 318334.Google Scholar
Klop, J. W. (1992) Term rewriting systems. In: Abramsky, S., Gabbay, D. M. and Maibaum, T. S. E. (eds.) Handbook of Logic in Computer Science, Volume 2, Oxford University Press 1116.Google Scholar
Middeldorp, A. and Hamoen, E. (1994) Completeness results for basic narrowing. Applicable Algebra in Engineering, Communication and Computing 5 213253.Google Scholar
Plump, D. (1993a) Collapsed tree rewriting: completeness, confluence, and modularity. In: Proc. Conditional Term Rewriting Systems. Springer-Verlag Lecture Notes in Computer Science 656 97112.CrossRefGoogle Scholar
Plump, D. (1993b) Evaluation of functional expressions by hypergraph rewriting, Dissertation, Universität Bremen, Fachbereich Mathematik und Informatik.Google Scholar
Plump, D. (1994) Critical pairs in term graph rewriting. In: Proc. Mathematical Foundations of Computer Science 1994. Springer-Verlag Lecture Notes in Computer Science 841 556566.Google Scholar
Plump, D. and Habel, A. (1996) Graph unification and matching. In: Proc. Workshop on Graph Grammars and Their Application to Computer Science ’94. Springer-Verlag Lecture Notes in Computer Science 1073 7588.Google Scholar
Sleep, R., Plasmeijer, R. and van Eekelen, M. (eds.) (1993) Term Graph Rewriting: Theory and Practice, John Wiley.Google Scholar