Results 1  10
of
12
Termination of ondemand 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 contextsensitive 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 contextsensitive rewriting and ondemand rewriting provide a suitable framework to address this problem. We provide methods to analyze termination of ondemand rewriting and apply them to analyze termination of OBJ*, CafeOBJ, and Maude programs. Keywords Program analysis, replacement restrictions, term rewriting, termination 1.
Termination of Rewriting with Strategy Annotations
 Proc. of 8th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, LPAR'01, LNAI 2250:669684
, 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 contextsensitive rewriting (CSR). Hence, we investigate how to prove innermost termination of CSR using existing methods ..."
Abstract

Cited by 21 (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 contextsensitive rewriting (CSR). Hence, we investigate how to prove innermost termination of CSR using existing methods for proving termination of CSR.
The Evaluation Strategy for Head Normal Form With and Without onDemand Flags
, 2001
"... We propose two conditions of the Estrategy with and without ondemand flags on which an evaluated term is always in head normal form. In rewriting with the Estrategy without (or with) ondemand flags, terms are evaluated according to a list of natural numbers (or integers) given to each function s ..."
Abstract

Cited by 17 (2 self)
 Add to MetaCart
We propose two conditions of the Estrategy with and without ondemand flags on which an evaluated term is always in head normal form. In rewriting with the Estrategy without (or with) ondemand flags, terms are evaluated according to a list of natural numbers (or integers) given to each function symbol. The first (or second) condition is that if there exists a rule such that a function symbol f occurs in its lefthand side and its ith argument is not a variable, a list of f must contain i (or i), and if f is also a defined one, a list of f must contain 0 at the end. While there is no restriction w.r.t. the first condition, the second one can only be applied to leftlinear constructor TRSs. But, There are cases in which rewriting with the Estrategy with ondemand flags terminates properly while that with the Estrategy without ondemand flags does not. We also propose a method of obtaining normal forms if a way to get head normal forms is given.
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.
Termination, ACTermination and Dependency Pairs of Term Rewriting Systems
 Ph.D. thesis, JAIST
, 2000
"... Copyright c ○ 2000 by Keiichirou KUSAKARI Recently, Arts and Giesl introduced the notion of dependency pairs, which gives effective methods for proving termination of term rewriting systems (TRSs). In this thesis, we extend the notion of dependency pairs to ACTRSs, and introduce new methods for eff ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Copyright c ○ 2000 by Keiichirou KUSAKARI Recently, Arts and Giesl introduced the notion of dependency pairs, which gives effective methods for proving termination of term rewriting systems (TRSs). In this thesis, we extend the notion of dependency pairs to ACTRSs, and introduce new methods for effectively proving ACtermination. Since it is impossible to directly apply the notion of dependency pairs to ACTRSs, we introduce the head parts in terms and show an analogy between the root positions in infinite reduction sequences by TRSs and the head positions in those by ACTRSs. Indeed, this analogy is essential for the extension of dependency pairs to ACTRSs. Based on this analogy, we define ACdependency pairs. To simplify the task of proving termination and ACtermination, several elimination transformations such as the dummy elimination, the distribution elimination, the general dummy elimination and the improved general dummy elimination, have been proposed. In this thesis, we show that the argument filtering method combined with the ACdependency pair technique is essential in all the elimination transformations above. We present remarkable simple proofs for the soundness of these elimination transformations based on this observation. Moreover, we propose a new elimination transformation, called the argument filtering transformation, which is not only more powerful than all the other elimination transformations but also especially useful to make clear an essential relationship among them.
Completeness and Strictness Analysis for the Evaluation Strategy
 RIEC, Tohoku University
, 2001
"... We propose two analyses of the evaluation strategy (the Estrategy). Firstly, we analyze a completeness of the Estrategy. For a complete Estrategy each evaluated term is guaranteed to be a normal form. In this paper we define the notion of the completeness for the contextsensitive rewriting, c ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We propose two analyses of the evaluation strategy (the Estrategy). Firstly, we analyze a completeness of the Estrategy. For a complete Estrategy each evaluated term is guaranteed to be a normal form. In this paper we define the notion of the completeness for the contextsensitive rewriting, called completeness, and show a condition of the Estrategy to satisfy the completeness. Secondarily, we give a strictness analysis for the Estrategy. 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 Estrategy.
JustinTime: On Strategy Annotations
 Proc. of 1st International Workshop on Reduction Strategies in Rewriting and Programming, WRS'01
, 2001
"... A simple kind of strategy annotations is investigated, giving rise to a class of strategies, including leftmostinnermost. ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
A simple kind of strategy annotations is investigated, giving rise to a class of strategies, including leftmostinnermost.
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 Estrategy), which is adopted by the family of OBJ algebraic specification languages, is one of the compromises between them. The Estrategy is more flexible than other fixed order of evaluation because each function symbol can have its own local strategy...
Ondemand strategy annotations revisited: An improved ondemand evaluation strategy
 THEORETICAL COMPUTER SCIENCE
, 2010
"... ..."
Abstract
"... Constructor Systems (CSs) are an important subclass of Term Rewriting Systems (TRSs) which can be used as an abstract model of some programming languages. While normalizing strategies are always desirable for achieving a good computational behavior of programs, when dealing with lazy languages infin ..."
Abstract
 Add to MetaCart
Constructor Systems (CSs) are an important subclass of Term Rewriting Systems (TRSs) which can be used as an abstract model of some programming languages. While normalizing strategies are always desirable for achieving a good computational behavior of programs, when dealing with lazy languages infinitary normalizing strategies should be considered instead since (finite approximations of) infinite data structures can be returned as the result of computations. We have shown that NVsequential TRSs (hence strongly sequential TRSs, a subclass of them) provide an appropriate basis for the effective definition of normalizing and infinitary normalizing strategies. In this paper, we show that strongly sequential and NVsequential CSs coincide. Since the implementation of NVsequential TRSs has been underexplored in comparison to strongly sequential TRSs, this coincidence suggests that, in programming languages, it is a good option to implement NVsequentiality as strong sequentiality.