Results 1  10
of
40
Term Graph Rewriting
, 1998
"... Term graph rewriting is concerned with the representation of functional expressions as graphs, and the evaluation of these expressions by rulebased graph transformation. Representing expressions as graphs allows to share common subexpressions, improving the efficiency of term rewriting in space ..."
Abstract

Cited by 89 (5 self)
 Add to MetaCart
Term graph rewriting is concerned with the representation of functional expressions as graphs, and the evaluation of these expressions by rulebased graph transformation. Representing expressions as graphs allows to share common subexpressions, improving the efficiency of term rewriting in space and time. Besides efficiency, term graph rewriting differs from term rewriting in properties like termination and confluence. This paper is a survey of (acyclic) term graph rewriting, where emphasis is given to the relations between term and term graph rewriting. We focus on soundness of term graph rewriting with respect to term rewriting, on completeness for proving validity of equations and for computing term normal forms, on termination and confluence, and on term graph narrowing. Keywords: term graph rewriting, termination, confluence, term rewriting, narrowing Classification: 68Q05, 68Q40, 68Q42 (AMS '91); D.1.1, F.1.1, F.4.2, I.1.1 (CR '98) Note: This paper will appear in H...
Higherorder narrowing with definitional trees
 Neural Computation
, 1996
"... Functional logic languages with a sound and complete operational semantics are mainly based on narrowing. Due to the huge search space of simple narrowing, steadily improved narrowing strategies have been developed in the past. Needed narrowing is currently the best narrowing strategy for firstord ..."
Abstract

Cited by 82 (22 self)
 Add to MetaCart
Functional logic languages with a sound and complete operational semantics are mainly based on narrowing. Due to the huge search space of simple narrowing, steadily improved narrowing strategies have been developed in the past. Needed narrowing is currently the best narrowing strategy for firstorder functional logic programs due to its optimality properties w.r.t. the length of derivations and the number of computed solutions. In this paper, we extend the needed narrowing strategy to higherorder functions and λterms as data structures. By the use of definitional trees, our strategy computes only incomparable solutions. Thus, it is the first calculus for higherorder functional logic programming which provides for such an optimality result. Since we allow higherorder logical variables denoting λterms, applications go beyond current functional and logic programming languages.
Cyclic Lambda Calculi
, 1997
"... . We precisely characterize a class of cyclic lambdagraphs, and then give a sound and complete axiomatization of the terms that represent a given graph. The equational axiom system is an extension of lambda calculus with the letrec construct. In contrast to current theories, which impose restrictio ..."
Abstract

Cited by 43 (5 self)
 Add to MetaCart
. We precisely characterize a class of cyclic lambdagraphs, and then give a sound and complete axiomatization of the terms that represent a given graph. The equational axiom system is an extension of lambda calculus with the letrec construct. In contrast to current theories, which impose restrictions on where the rewriting can take place, our theory is very liberal, e.g., it allows rewriting under lambdaabstractions and on cycles. As shown previously, the reduction theory is nonconfluent. We thus introduce an approximate notion of confluence. Using this notion we define the infinite normal form or L'evyLongo tree of a cyclic term. We show that the infinite normal form defines a congruence on the set of terms. We relate our cyclic lambda calculus to the traditional lambda calculus and to the infinitary lambda calculus. Since most implementations of nonstrict functional languages rely on sharing to avoid repeating computations, we develop a variant of our calculus that enforces the ...
Applications of Linear Logic to Computation: An Overview
, 1993
"... This paper is an overview of existing applications of Linear Logic (LL) to issues of computation. After a substantial introduction to LL, it discusses the implications of LL to functional programming, logic programming, concurrent and objectoriented programming and some other applications of LL, li ..."
Abstract

Cited by 42 (3 self)
 Add to MetaCart
This paper is an overview of existing applications of Linear Logic (LL) to issues of computation. After a substantial introduction to LL, it discusses the implications of LL to functional programming, logic programming, concurrent and objectoriented programming and some other applications of LL, like semantics of negation in LP, nonmonotonic issues in AI planning, etc. Although the overview covers pretty much the stateoftheart in this area, by necessity many of the works are only mentioned and referenced, but not discussed in any considerable detail. The paper does not presuppose any previous exposition to LL, and is addressed more to computer scientists (probably with a theoretical inclination) than to logicians. The paper contains over 140 references, of which some 80 are about applications of LL. 1 Linear Logic Linear Logic (LL) was introduced in 1987 by Girard [62]. From the very beginning it was recognized as relevant to issues of computation (especially concurrency and stat...
HigherOrder Rewriting
 12th Int. Conf. on Rewriting Techniques and Applications, LNCS 2051
, 1999
"... This paper will appear in the proceedings of the 10th international conference on rewriting techniques and applications (RTA'99). c flSpringer Verlag. ..."
Abstract

Cited by 28 (1 self)
 Add to MetaCart
(Show Context)
This paper will appear in the proceedings of the 10th international conference on rewriting techniques and applications (RTA'99). c flSpringer Verlag.
Developing Developments
, 1994
"... Confluence of orthogonal rewriting systems can be proved using the Finite Developments Theorem. We present, in a general setting, several adaptations of this proof method for obtaining confluence of `not quite' orthogonal systems. 1. Introduction Rewriting as studied here is based on the an ..."
Abstract

Cited by 23 (2 self)
 Add to MetaCart
Confluence of orthogonal rewriting systems can be proved using the Finite Developments Theorem. We present, in a general setting, several adaptations of this proof method for obtaining confluence of `not quite' orthogonal systems. 1. Introduction Rewriting as studied here is based on the analogy: rewriting = substitution + rules. This analogy is useful since it enables a clearcut distinction between the `designer' defined substition process, i.e. management of resources, and the `user' defined rewrite rules, of rewriting systems. For example, application of the `user' defined term rewriting rule 2 \Theta x ! x + x to the term 2 \Theta 3 gives rise to the duplication of the term 3 in the result 3 + 3. How this duplication is actually performed (for example, using sharing) depends on the `designer's' implementation of substitution. This decomposition has been shown useful in [OR94, Oos94] in the case of firstorder term rewriting systems (TRSs, [DJ90, Klo92]) and higherorder term r...
On Higher Order Recursive Program Schemes
 In: Proc. of the 19 th International Colloquium on Trees in Algebra and Programming, CAAP'94
"... . We define Higher Order Recursive Program Schemes (HRPSs) by allowing metasubstitutions (as in the calculus) in righthand sides of function and quantifier definitions. A study of several kinds of similarity of redexes makes it possible to lift properties of (first order) Recursive Program Schemes ..."
Abstract

Cited by 20 (16 self)
 Add to MetaCart
. We define Higher Order Recursive Program Schemes (HRPSs) by allowing metasubstitutions (as in the calculus) in righthand sides of function and quantifier definitions. A study of several kinds of similarity of redexes makes it possible to lift properties of (first order) Recursive Program Schemes to the higher order case. The main result is the decidability of weak normalization in HRPSs, which immediately implies that HRPSs do not have full computational power. We analyze the structural properties of HRPSs and introduce several kinds of persistent expression reduction systems (PERSs) that enjoy similar properties. Finally, we design an optimal evaluation procedure for PERSs. 1 Introduction Higher Order Recursive Program Schemes (HRPSs) are recursive definitions of functions, predicates, and quantifiers, considered as rewriting systems. Similar definitions are used when one extends a theory by introducing new symbols [16]. 9aA , (øa(A)=a)A and 9!aA , 9aA 8a8b(A (b=a)A ) a = b) a...
Comparing Combinatory Reduction Systems and HigherOrder Rewrite Systems
, 1993
"... In this paper two formats of higherorder rewriting are compared: Combinatory Reduction Systems introduced by Klop [Klo80] and Higherorder Rewrite Systems defined by Nipkow [Nipa]. Although it always has been obvious that both formats are closely related to each other, up to now the exact relations ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
In this paper two formats of higherorder rewriting are compared: Combinatory Reduction Systems introduced by Klop [Klo80] and Higherorder Rewrite Systems defined by Nipkow [Nipa]. Although it always has been obvious that both formats are closely related to each other, up to now the exact relationship between them has not been clear. This was an unsatisfying situation since it meant that proofs for much related frameworks were given twice. We present two translations, one from Combinatory Reduction Systems into HigherOrder Rewrite Systems and one vice versa, based on a detailed comparison of both formats. Since the translations are very `neat' in the sense that the rewrite relation is preserved and (almost) reflected, we can conclude that as far as rewrite theory is concerned, Combinatory Reduction Systems and HigherOrder Rewrite Systems are equivalent, the only difference being that Combinatory Reduction Systems employ a more `lazy' evaluation strategy. Moreover, due to this result...
Interaction Systems II: The Practice of Optimal Reductions
 Theoretical Computer Science
, 1994
"... Lamping's optimal graph reduction technique for the calculus is generalized to a new class of higher order rewriting systems, called Interaction Systems. Interaction Systems provide a nice integration of the functional paradigm with a rich class of data structures (all inductive types), and so ..."
Abstract

Cited by 19 (6 self)
 Add to MetaCart
(Show Context)
Lamping's optimal graph reduction technique for the calculus is generalized to a new class of higher order rewriting systems, called Interaction Systems. Interaction Systems provide a nice integration of the functional paradigm with a rich class of data structures (all inductive types), and some basic control flow constructs such as conditionals and (primitive or general) recursion. We describe a uniform and optimal implementation, in Lamping's style, for all these features. The paper is the natural continuation of [3], where we focused on the theoretical aspects of optimal reductions in Interaction Systems (family relation, labeling, extraction). 1 Introduction At the end of 70's, L'evy fixed the theoretical performance of what should be considered as an optimal implementation of the calculus. The optimal evaluator should always keep shared those redexes in a expression that have a common origin (e.g. that are copies of a same redex). For a long time, no implementation achieved L'...
The Bologna Optimal Higherorder Machine
 Journal of Functional Programming
, 1996
"... gzipped PostScript format via anonymous FTP from the area ftp.cs.unibo.it:/pub/TR/UBLCS or via WWW at ..."
Abstract

Cited by 19 (0 self)
 Add to MetaCart
(Show Context)
gzipped PostScript format via anonymous FTP from the area ftp.cs.unibo.it:/pub/TR/UBLCS or via WWW at