5 research outputs found

    Equational term graph rewriting

    Get PDF
    We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is well-known in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bisimilarity class of a term graph, partially ordered by functional bisimulation, is a complete lattice. It is shown how Equational Logic induces a notion of copying and substitution on term graphs, or systems of recursion equations, and also suggests the introduction of hidden or nameless nodes in a term graph. Hidden nodes can be used only once. The general framework of term graphs with copying is compared with the more restricted copying facilities embodied in the mumu-rule, and translations are given between term graphs and mumu-expressions. Using these, a proo

    Lambda Calculus with Explicit Recursion

    Get PDF
    AbstractThis paper is concerned with the study of位-calculus with explicit recursion, namely of cyclic位-graphs. The starting point is to treat a位-graph as a system of recursion equations involving位-terms and to manipulate such systems in an unrestricted manner, using equational logic, just as is possible for first-order term rewriting. Surprisingly, now the confluence property breaks down in an essential way. Confluence can be restored by introducing a restraining mechanism on the substitution operation. This leads to a family of位-graph calculi, which can be seen as an extension of the family of位蟽-calculi (位-calculi with explicit substitution). While the位蟽-calculi treat the let-construct as a first-class citizen, our calculi support the letrec, a feature that is essential to reason about time and space behavior of functional languages and also about compilation and optimizations of program
    corecore