Results 1 -
2 of
2
Evaluation Strategies for Term Rewriting Systems
, 2002
"... Term rewriting systems are widely used in computer science as a model of computation to relate syntax and semantics. In order to implement term rewriting system we need to use a strategy since there are many reduction sequences from a term in general. A strategy chooses one from such sequences. It i ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Term rewriting systems are widely used in computer science as a model of computation to relate syntax and semantics. In order to implement term rewriting system we need to use a strategy since there are many reduction sequences from a term in general. A strategy chooses one from such sequences. It is a function that takes a term to be rewritten and returns a term obtained by rewriting from the input term. There are two wellknown strategies: innermost strategies (or eager evaluation) and outermost strategies (or lazy evaluation). Innermost strategies can be implemented much more efficiently than outermost ones, while outermost strategies often have a better termination behavior than innermost ones. The evaluation strategy (the E-strategy), which is adopted by the family of OBJ algebraic specification languages, is one of the compromises between them. The E-strategy is more flexible than other fixed order of evaluation because each function symbol can have its own local strategy...
MU-TERM version 1.0 User's manual
"... Introduction Restrictions of rewriting can eventually achieve termination by pruning all infinite rewrite sequences issued from every term. However, proving that such improvement is actually achieved can be difficult. Context-sensitive rewriting (CSR [Luc98]) is a restriction of rewriting which is ..."
Abstract
- Add to MetaCart
Introduction Restrictions of rewriting can eventually achieve termination by pruning all infinite rewrite sequences issued from every term. However, proving that such improvement is actually achieved can be difficult. Context-sensitive rewriting (CSR [Luc98]) is a restriction of rewriting which is useful for describing semantic aspects of programming languages (e.g., OBJ2, OBJ3, CafeOBJ, or Maude) and analyzing the computational properties (e.g., termination or completeness) of the corresponding programs (see [Luc98, Luc01a, Luc01b, Luc01c, NF01] for further details and motivations). In CSR, a mapping : \Sigma ! P(N) (called a replacement map) is used to discriminate the argument positions on which replacements are allowed; in this way, a restriction of rewriting is obtained. Example 1 Consider the following TRS R: first(0,x) ! [] from(x) ! x:from(s(x)) first(s(x),y:z) ! y:first(x,z) together with (s) = (:) = (from) = f1g and (first) = f1; 2g. Then, we have: from(0) ! 0:from(s(0

