Results 1 - 10
of
22
Context-Sensitive Rewriting Strategies
, 1997
"... Context-sensitive rewriting is a simple restriction of rewriting which is formalized by imposing fixed restrictions on replacements. Such a restriction is given on a purely syntactic basis: it is (explicitly or automatically) specified on the arguments of symbols of the signature and inductively ..."
Abstract
-
Cited by 41 (30 self)
- Add to MetaCart
Context-sensitive rewriting is a simple restriction of rewriting which is formalized by imposing fixed restrictions on replacements. Such a restriction is given on a purely syntactic basis: it is (explicitly or automatically) specified on the arguments of symbols of the signature and inductively extended to arbitrary positions of terms built from those symbols. Termination is not only preserved but usually improved and several methods have been developed to formally prove it. In this paper, we investigate the definition, properties, and use of context-sensitive rewriting strategies, i.e., particular, fixed sequences of context-sensitive rewriting steps. We study how to define them in order to obtain efficient computations and to ensure that context-sensitive computations terminate whenever possible. We give conditions enabling the use of these strategies for root-normalization, normalization, and infinitary normalization. We show that this theory is suitable for formalizing ...
Transformation Techniques for Context-Sensitive Rewrite Systems
, 2004
"... Context-sensitive rewriting is a computational restriction of term rewriting used to model non-strict (lazy) evaluation in functional programming. The goal of this paper is the study and development of techniques to analyze the termination behavior of context-sensitive rewrite systems. For that purp ..."
Abstract
-
Cited by 34 (4 self)
- Add to MetaCart
Context-sensitive rewriting is a computational restriction of term rewriting used to model non-strict (lazy) evaluation in functional programming. The goal of this paper is the study and development of techniques to analyze the termination behavior of context-sensitive rewrite systems. For that purpose, several methods have been proposed in the literature which transform context-sensitive rewrite systems into ordinary rewrite systems such that termination of the transformed ordinary system implies termination of the original context-sensitive system. In this way, the huge variety of existing techniques for termination analysis of ordinary rewriting can be used for context-sensitive rewriting, too. We analyze the existing transformation techniques for proving termination of context-sensitive rewriting and we suggest two new transformations. Our first method is simple, sound, and more powerful than the previously proposed transformations. However, it is not complete, i.e., there are terminating context-sensitive rewrite systems that are transformed into non-terminating term rewrite systems. The second method that we present in this paper is both sound and complete. All these observations also hold for rewriting modulo associativity and commutativity.
Termination of Rewriting with Strategy Annotations
- Proc. of 8th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, LPAR'01, LNAI 2250:669-684
, 2001
"... We investigate termination of rewriting computations guided by strategy annotations. We show that proofs of termination can be obtained by proving (innermost) termination of context-sensitive rewriting (CSR). Hence, we investigate how to prove innermost termination of CSR using existing methods ..."
Abstract
-
Cited by 20 (16 self)
- Add to MetaCart
We investigate termination of rewriting computations guided by strategy annotations. We show that proofs of termination can be obtained by proving (innermost) termination of context-sensitive rewriting (CSR). Hence, we investigate how to prove innermost termination of CSR using existing methods for proving termination of CSR.
Correct and complete (positive) strategy annotations for OBJ
- Electronic Notes in Theoretical Computer Science
, 2002
"... Strategy annotations are used in several programming languages as replacement restrictions aimed at improving efficiency and/or reducing the risk of nontermination. ..."
Abstract
-
Cited by 16 (10 self)
- Add to MetaCart
Strategy annotations are used in several programming languages as replacement restrictions aimed at improving efficiency and/or reducing the risk of nontermination.
Lazy Rewriting and Context-Sensitive Rewriting
- Electronic Notes in Theoretical Computer Science, volume 64. Elsevier Sciences
, 2002
"... Lazy rewriting (LR) is intended to improve the termination behavior of TRSs. This is attempted by restricting reductions for selected arguments of functions. Similarly, context-sensitive rewriting (CSR) forbids any reduction on those arguments. We show that, under certain conditions, LR and CSR coin ..."
Abstract
-
Cited by 12 (9 self)
- Add to MetaCart
Lazy rewriting (LR) is intended to improve the termination behavior of TRSs. This is attempted by restricting reductions for selected arguments of functions. Similarly, context-sensitive rewriting (CSR) forbids any reduction on those arguments. We show that, under certain conditions, LR and CSR coincide. On the basis of this result, we also describe a transformation which permits proving termination of LR as termination of CSR for the transformed system. Since there is a number of different techniques for proving termination of CSR, this provides a (first) formal framework for proving termination of lazy rewriting.
Demandness in Rewriting and Narrowing
- Proc. of the 11th Int’l Workshop on Functional and (Constraint) Logic Programming WFLP’02, volume 76 of Electronic Notes in Theoretical Computer Science. Elsevier Sciences Publisher
, 2002
"... The traditional investigation of rewriting and narrowing strategies aims at establishing fundamental properties, such as soundness, completeness and/or optimality, of a strategy. In this work, we analyze and compare rewriting and narrowing strategies from the point of view of the information tak ..."
Abstract
-
Cited by 11 (4 self)
- Add to MetaCart
The traditional investigation of rewriting and narrowing strategies aims at establishing fundamental properties, such as soundness, completeness and/or optimality, of a strategy. In this work, we analyze and compare rewriting and narrowing strategies from the point of view of the information taken into account by a strategy to compute a step. The notion of demandness provides a suitable framework for presenting and comparing well-known strategies. We find the existence of an almost linear sequence of strategies that take into account more and more information. We show on examples that, as we progress on this sequence, a strategy becomes more focused and avoids some useless steps computed by strategies preceding it in this sequence. Our work, which is still in progress, clarifies the behavior of similar or related strategies and it promises to simplify the transfer of some results from one strategy to another. It also suggests that the notion of demandness is both atomic and fundamental to the study of strategies.
Modular termination of context-sensitive rewriting
- IN PROC. 4TH PPDP
, 2002
"... Context-sensitive rewriting (CSR) has recently emerged as an interesting and flexible paradigm that provides a bridge between the abstract world of general rewriting and the (more) applied setting of declarative specification and programming languages such as OBJ*, CafeOBJ, ELAN, and Maude. A natura ..."
Abstract
-
Cited by 10 (6 self)
- Add to MetaCart
Context-sensitive rewriting (CSR) has recently emerged as an interesting and flexible paradigm that provides a bridge between the abstract world of general rewriting and the (more) applied setting of declarative specification and programming languages such as OBJ*, CafeOBJ, ELAN, and Maude. A natural approach to study properties of programs written in these languages is to model them as context-sensitive rewriting systems. Here we are especially interested in proving termination of such systems, and thereby providing methods to establish termination of e.g. OBJ* programs. For proving termination of context-sensitive rewriting, there exist a few transformation methods, that reduce the problem to termination of a transformed ordinary term rewriting system (TRS). These transformations, however, have some serious drawbacks. In particular, most of them do not seem to support a modular analysis of the termination problem. In this paper we will show that a substantial part of the well-known theory of modular term rewriting can be extended to CSR, via a thorough analysis of the additional complications arising from context-sensitivity. More precisely, we will mainly concentrate on termination (properties). The obtained modularity results correspond nicely to the fact that in the above languages the modular design of programs and specifications is explicitly promoted, since it can now also be complemented by modular analysis techniques.
Termination of innermost context-sensitive rewriting using dependency pairs
- In Proceedings of the 6th International Symposium on Frontiers of Combining Systems. lnai
"... Abstract. Innermost context-sensitive rewriting has been proved useful for modeling computations of programs of algebraic languages like Maude, OBJ, etc. Furthermore, innermost termination of rewriting is often easier to prove than termination. Thus, under appropriate conditions, a useful strategy f ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Abstract. Innermost context-sensitive rewriting has been proved useful for modeling computations of programs of algebraic languages like Maude, OBJ, etc. Furthermore, innermost termination of rewriting is often easier to prove than termination. Thus, under appropriate conditions, a useful strategy for proving termination of rewriting is trying to prove termination of innermost rewriting. This phenomenon has also been investigated for context-sensitive rewriting (CSR). Up to now, only few transformations have been proposed and used to prove termination of innermost CSR. In this paper, we investigate direct methods for proving termination of innermost CSR. We adapt the recently introduced context-sensitive dependency pairs approach to innermost CSR and show that they can be advantageously used for proving termination of innermost CSR. We have implemented them as part of the termination tool mu-term. 1
Order-Sorted Dependency Pairs
, 2008
"... Types (or sorts) are pervasive in computer science and in rewritingbased programming languages, which often support subtypes (subsorts) and subtype polymorphism. Programs in these languages can be modeled as order-sorted term rewriting systems (OS-TRSs). Often, termination of such programs heavily d ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Types (or sorts) are pervasive in computer science and in rewritingbased programming languages, which often support subtypes (subsorts) and subtype polymorphism. Programs in these languages can be modeled as order-sorted term rewriting systems (OS-TRSs). Often, termination of such programs heavily depends on sort information. But few techniques are currently available for proving termination of OS-TRSs; and they often fail for interesting OS-TRSs. In this paper we generalize the dependency pairs approach to prove termination of OS-TRSs. Preliminary experiments suggest that this technique can succeed where existing ones fail, yielding easier and simpler termination proofs.
Completeness and Strictness Analysis for the Evaluation Strategy
- RIEC, Tohoku University
, 2001
"... We propose two analyses of the evaluation strategy (the E-strategy). Firstly, we analyze a completeness of the E-strategy. For a complete E-strategy each evaluated term is guaranteed to be a normal form. In this paper we define the notion of the completeness for the context-sensitive rewriting, c ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We propose two analyses of the evaluation strategy (the E-strategy). Firstly, we analyze a completeness of the E-strategy. For a complete E-strategy each evaluated term is guaranteed to be a normal form. In this paper we define the notion of the completeness for the context-sensitive rewriting, called -completeness, and show a condition of the E-strategy to satisfy the -completeness. Secondarily, we give a strictness analysis for the E-strategy. A function is called strict in a certain argument if the evaluation of that argument does not change the termination behaviour. From the analyses, we can define a method to get a more effective default strategy for the E-strategy.

