Results 1 - 10
of
18
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 ...
Termination of on-demand rewriting and termination of OBJ programs
- In Proc. of 3rd International Conference on Principles and Practice of Declarative Programming, PPDP'01
, 2001
"... Declarative languages such as OBJ*, CafeOBJ, and Maude use syntactic annotations to introduce replacement restrictions aimed at improving termination or efficiency of computations. Unfortunately, there is a lack of formal techniques for proving such benefits. We show that context-sensitive rewriting ..."
Abstract
-
Cited by 30 (20 self)
- Add to MetaCart
Declarative languages such as OBJ*, CafeOBJ, and Maude use syntactic annotations to introduce replacement restrictions aimed at improving termination or efficiency of computations. Unfortunately, there is a lack of formal techniques for proving such benefits. We show that context-sensitive rewriting and on-demand rewriting provide a suitable framework to address this problem. We provide methods to analyze termination of on-demand rewriting and apply them to analyze termination of OBJ*, CafeOBJ, and Maude programs. Keywords Program analysis, replacement restrictions, term rewriting, termination 1.
Promoting Rewriting to a Programming Language: A Compiler for Non-Deterministic Rewrite Programs in Associative-Commutative Theories
, 2001
"... First-order languages based on rewrite rules share many features with functional languages. But one difference is that matching and rewriting can be made much more expressive and powerful by incorporating some built-in equational theories. To provide reasonable programming environments, compilation ..."
Abstract
-
Cited by 28 (6 self)
- Add to MetaCart
First-order languages based on rewrite rules share many features with functional languages. But one difference is that matching and rewriting can be made much more expressive and powerful by incorporating some built-in equational theories. To provide reasonable programming environments, compilation techniques for such languages based on rewriting have to be designed. This is the topic addressed in this paper. The proposed techniques are independent from the rewriting language and may be useful to build a compiler for any system using rewriting modulo associative and commutative (AC) theories. An algorithm for many-to-one AC matching is presented, that works efficiently for a restricted class of patterns. Other patterns are transformed to fit into this class. A refined data structure, namely compact bipartite graph, allows encoding all matching problems relative to a set of rewrite rules. A few optimisations concerning the construction of the substitution and of the reduced term are described. We also address the problem of non-determinism related to AC rewriting and show how to handle it through the concept of strategies. We explain how an analysis of the determinism can be performed at compile time and we illustrate the benefits of this analysis for the performance of the compiled evaluation process. Then we briefly introduce the ELAN system and its compiler, in order to give some experimental results and comparisons with other languages or rewrite engines.
Matching Power
- Proceedings of RTA’2001, Lecture Notes in Computer Science, Utrecht (The Netherlands
, 2001
"... www.loria.fr/{~cirstea,~ckirchne,~lliquori} Abstract. In this paper we give a simple and uniform presentation of the rewriting calculus, also called Rho Calculus. In addition to its simplicity, this formulation explicitly allows us to encode complex structures such as lists, sets, and objects. We pr ..."
Abstract
-
Cited by 28 (17 self)
- Add to MetaCart
www.loria.fr/{~cirstea,~ckirchne,~lliquori} Abstract. In this paper we give a simple and uniform presentation of the rewriting calculus, also called Rho Calculus. In addition to its simplicity, this formulation explicitly allows us to encode complex structures such as lists, sets, and objects. We provide extensive examples of the calculus, and we focus on its ability to represent some object oriented calculi, namely the Lambda Calculus of Objects of Fisher, Honsell, and Mitchell, and the Object Calculus of Abadi and Cardelli. Furthermore, the calculus allows us to get object oriented constructions unreachable in other calculi. In summa, we intend to show that because of its matching ability, the Rho Calculus represents a lingua franca to naturally encode many paradigms of computations. This enlightens the capabilities of the rewriting calculus based language ELAN to be used as a logical as well as powerful semantical framework. 1
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.
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.
How to Give Local Strategies to Function Symbols for Equality of Two Implementations of the E-strategy with and without Evaluated Flags
- Proceedings of Asian Symposium on Computer Mathematics
, 1998
"... . The evaluation strategy (abbr. the E-strategy) initiated by OBJ2 is one of compromises between outermost and innermost reduction strategies. Although rewriting with the E-strategy is intuitively easy-to-understand, the straightforward implementation cannot lead to efficient rewriting. Then, the im ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
. The evaluation strategy (abbr. the E-strategy) initiated by OBJ2 is one of compromises between outermost and innermost reduction strategies. Although rewriting with the E-strategy is intuitively easy-to-understand, the straightforward implementation cannot lead to efficient rewriting. Then, the implementations of OBJ3 and CafeOBJ use evaluated flags to implement reasonably rewriting with the E-strategy. However, rewriting with evaluated flags is not always equivalent to that without evaluated flags, which depends on local strategies given to function symbols. So far we did not have any useful guidelines on how to give local strategies to function symbols. In this paper, we present a sufficient but reasonable condition (i.e. how to give local strategies to function symbols) that two implementations of the E-strategy with and without evaluated flags are equivalent, and give its proof. 1. Introduction A reduction strategy is a function that takes a set of rewrite rules (i.e. a term rew...
Context-Sensitive Rewriting, Lazy Rewriting, and On-demand Rewriting
- Christian-Albrechts-Universitat zu Kiel
, 2001
"... On-demand rewriting provides an operational model for term rewriting controlled by annotations consisting of (sets of) positive and negative integers referring the arguments of function symbols. Contextsensitive rewriting and lazy rewriting provide (different) operational models for positive ann ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
On-demand rewriting provides an operational model for term rewriting controlled by annotations consisting of (sets of) positive and negative integers referring the arguments of function symbols. Contextsensitive rewriting and lazy rewriting provide (different) operational models for positive annotations. In this paper we prove that, under certain conditions, the three operational models coincide. In this case, it makes sense using context-sensitive rewriting as it is the simplest one. This fact also permits proving termination of lazy rewriting by proving termination of context-sensitive rewriting for a transformed rewrite system.

