Results 1  10
of
31
Contextsensitive dependency pairs
 In the 26th Conference on Foundations of Software Technology and Theoretical Computer Science
, 2006
"... Abstract. Termination is one of the most interesting problems when dealing with contextsensitive rewrite systems. Although there is a good number of techniques for proving termination of contextsensitive rewriting (CSR), the dependency pair approach, one of the most powerful techniques for proving ..."
Abstract

Cited by 32 (14 self)
 Add to MetaCart
Abstract. Termination is one of the most interesting problems when dealing with contextsensitive rewrite systems. Although there is a good number of techniques for proving termination of contextsensitive rewriting (CSR), the dependency pair approach, one of the most powerful techniques for proving termination of rewriting, has not been investigated in connection with proofs of termination of CSR. In this paper, we show how to use dependency pairs in proofs of termination of CSR. The implementation and practical use of the developed techniques yield a novel and powerful framework which improves the current stateoftheart of methods for proving termination of CSR.
Operational termination of membership equational programs. the ordersorted way
, 2008
"... Our main goal is automating termination proofs for programs in rewritingbased languages with features such as: (i) expressive type structures, (ii) conditional rules, (iii) matching modulo axioms, and (iv) contextsensitive rewriting. Specifically, we present a new operational termination method for ..."
Abstract

Cited by 22 (9 self)
 Add to MetaCart
Our main goal is automating termination proofs for programs in rewritingbased languages with features such as: (i) expressive type structures, (ii) conditional rules, (iii) matching modulo axioms, and (iv) contextsensitive rewriting. Specifically, we present a new operational termination method for membership equational programs with features (i)(iv) that can be applied to programs in membership equational logic (MEL). The method first transforms a MEL program into a simpler, yet semantically equivalent, conditional ordersorted (OS) program. Subsequent trasformations make the OSprogram unconditonal, and, finally, unsorted. In particular, we extend and generalize to this richer setting an ordersorted termination technique for unconditional OS programs proposed by Ölveczky and Lysne. An important advantage of our method is that it minimizes the use of conditional rules and produces simpler transformed programs whose termination is often easier to prove automatically.
Proving Termination of ContextSensitive Rewriting with MUTERM
, 2007
"... Contextsensitive rewriting (CSR) is a restriction of rewriting which forbids reductions on selected arguments of functions. Proving termination of CSR is an interesting problem with several applications in the fields of term rewriting and programming languages. Several methods have been developed f ..."
Abstract

Cited by 17 (15 self)
 Add to MetaCart
Contextsensitive rewriting (CSR) is a restriction of rewriting which forbids reductions on selected arguments of functions. Proving termination of CSR is an interesting problem with several applications in the fields of term rewriting and programming languages. Several methods have been developed for proving termination of CSR. The new version of MUTERM which we present here implements all currently known techniques. Furthermore, we show how to combine them to furnish MUTERM with an expert which is able to automatically perform the termination proofs. Finally, we provide a first experimental evaluation of the tool.
Partial inversion of constructor term rewriting systems
 In Proc. of the 16th Int’l Conf. on Term Rewriting and Applications (RTA 2005
, 2005
"... Abstract. Partialinversion compilers generate programs which compute some unknown inputs of given programs from a given output and the rest of inputs whose values are already given. In this paper, we propose a partialinversion compiler of constructor term rewriting systems. The compiler automatica ..."
Abstract

Cited by 14 (5 self)
 Add to MetaCart
(Show Context)
Abstract. Partialinversion compilers generate programs which compute some unknown inputs of given programs from a given output and the rest of inputs whose values are already given. In this paper, we propose a partialinversion compiler of constructor term rewriting systems. The compiler automatically generates a conditional term rewriting system, and then unravels it to an unconditional system. To improve the efficiency of inverse computation, we show that innermost strategy is usable to obtain all solutions if the generated system is rightlinear. 1
Solving Nonlinear Polynomial Arithmetic via SAT Modulo Linear Arithmetic
"... Polynomial constraintsolving plays a prominent role in several areas of engineering and software verification. In particular, polynomial constraint solving has a long and successful history in the development of tools for proving termination of programs. Wellknown and very efficient techniques, l ..."
Abstract

Cited by 13 (5 self)
 Add to MetaCart
(Show Context)
Polynomial constraintsolving plays a prominent role in several areas of engineering and software verification. In particular, polynomial constraint solving has a long and successful history in the development of tools for proving termination of programs. Wellknown and very efficient techniques, like SAT algorithms and tools, have been recently proposed and used for implementing polynomial constraint solving algorithms through appropriate encodings. However, powerful techniques like the ones provided by the SMT (SAT modulo theories) approach for linear arithmetic constraints (over the rationals) are underexplored to date. In this paper we show that the use of these techniques for developing polynomial constraint solvers outperforms the best existing solvers and provides a new and powerful approach for implementing better and more general solvers for termination provers.
Search Techniques for Rational Polynomial Orders
 AISC '08
, 2008
"... Polynomial interpretations are a standard technique used in almost all tools for proving termination of term rewrite systems (TRSs) automatically. Traditionally, one applies interpretations with polynomials over the naturals. But recently, it was shown that interpretations with polynomials over the ..."
Abstract

Cited by 11 (8 self)
 Add to MetaCart
(Show Context)
Polynomial interpretations are a standard technique used in almost all tools for proving termination of term rewrite systems (TRSs) automatically. Traditionally, one applies interpretations with polynomials over the naturals. But recently, it was shown that interpretations with polynomials over the rationals can be significantly more powerful. However, searching for such interpretations is considerably more difficult than for natural polynomials. Moreover, while there exist highly efficient SATbased techniques for finding natural polynomials, no such techniques had been developed for rational polynomials yet. In this paper, we tackle the two main problems when applying rational polynomial interpretations in practice: (1) We develop new criteria to decide when to use rational instead of natural polynomial interpretations. (2) Afterwards, we present SATbased methods for finding rational polynomial interpretations and evaluate them empirically.
Improving the Contextsensitive Dependency Graph
, 2007
"... The dependency pairs method is one of the most powerful technique for proving termination of rewriting and it is currently central in most automatic termination provers. Recently, it has been adapted to be used in proofs of termination of contextsensitive rewriting. The use of collapsing dependency ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
The dependency pairs method is one of the most powerful technique for proving termination of rewriting and it is currently central in most automatic termination provers. Recently, it has been adapted to be used in proofs of termination of contextsensitive rewriting. The use of collapsing dependency pairs i.e., having a single variable in the righthand side is a novel and essential feature to obtain a correct framework in this setting. Unfortunately, dependency pairs behave as a kind of glue in the contextsensitive dependency graph which makes the cycles bigger, thus making some proofs of termination harder. In this paper we show that this effect can be safely mitigated by removing some arcs from the graph, thus leading to faster and easier proofs. Narrowing dependency pairs is also introduced and used here to eventually simplify the treatment of the contextsensitive dependency graph. We show the practicality of the new techniques with some benchmarks.
MTT: The Maude Termination Tool (System Description) ⋆
"... Despite the remarkable development of the theory of termination of rewriting, its application to highlevel programming languages is far from being optimal. This is due to the need for features such as conditional equations and rules, types and subtypes, (possibly programmable) strategies for contro ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
(Show Context)
Despite the remarkable development of the theory of termination of rewriting, its application to highlevel programming languages is far from being optimal. This is due to the need for features such as conditional equations and rules, types and subtypes, (possibly programmable) strategies for controlling the execution,
Rewriting Techniques for Analysing Termination and Complexity Bounds of Safe Programs ⋆
"... Abstract. Safe is a firstorder eager functional language with facilities for programmercontrolled destruction and copying of data structures and is intended for compiletime analysis of memory consumption. In Safe, heap and stack memory consumption depends on the length of recursive calls chains. ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Safe is a firstorder eager functional language with facilities for programmercontrolled destruction and copying of data structures and is intended for compiletime analysis of memory consumption. In Safe, heap and stack memory consumption depends on the length of recursive calls chains. Ensuring termination of Safe programs (or of particular function calls) is therefore essential to implement these features. Furthermore, being able to give bounds to the chain length required by such terminating calls becomes essential in computing space bounds. In this paper, we investigate how to analyze termination of Safe programs by using standard term rewriting techniques, i.e., by transforming Safe programs into term rewriting systems whose termination can be automatically analysed by means of existing tools. Furthermore, we investigate how to use proofs of termination which combine the dependency pairs approach with polynomial interpretations to obtain suitable bounds to the length of chains of recursive calls in Safe programs.
Termination of innermost contextsensitive rewriting using dependency pairs
 In Proceedings of the 6th International Symposium on Frontiers of Combining Systems. lnai
"... Abstract. Innermost contextsensitive 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
(Show Context)
Abstract. Innermost contextsensitive 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 contextsensitive 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 contextsensitive 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 muterm. 1