4,663 research outputs found
The 2D Dependency Pair Framework for conditional rewrite systems. Part I: Definition and basic processors
[EN] Different termination properties of conditional term rewriting systems have been recently described emphasizing the bidimensional nature of the termination behavior of conditional rewriting. The absence of infinite sequences of rewriting steps (termination in the usual sense), provides the horizontal dimension. The absence of infinitely many attempts to launch the subsidiary processes that are required to check the rule's condition and perform a single rewriting step has been called V-termination and provides the vertical dimension. We have characterized these properties by means of appropriate notions of dependency pairs and dependency chains. In this paper we introduce a 2D Dependency Pair Framework for automatically proving and disproving all these termination properties. Our implementation of the framework as part of the termination tool MU-TERM and the benchmarks obtained so far suggest that the 2D Dependency Pair Framework is currently the most powerful technique for proving operational termination of conditional term rewriting systems. (C) 2018 Elsevier Inc. All rights reserved.Partially supported by the EU (FEDER), Spanish MINECO project TIN2015-69175-C4-1-R, GV project PROMETEOII/2015/013, and NSF grant CNS 13-19109. Raul Gutierrez is also supported by Juan de la Cierva Fellowship JCI-2012-13528.Lucas Alba, S.; Meseguer, J.; Gutiérrez Gil, R. (2018). The 2D Dependency Pair Framework for conditional rewrite systems. Part I: Definition and basic processors. Journal of Computer and System Sciences. 96:74-106. https://doi.org/10.1016/j.jcss.2018.04.002S741069
Termination of Rewriting with and Automated Synthesis of Forbidden Patterns
We introduce a modified version of the well-known dependency pair framework
that is suitable for the termination analysis of rewriting under forbidden
pattern restrictions. By attaching contexts to dependency pairs that represent
the calling contexts of the corresponding recursive function calls, it is
possible to incorporate the forbidden pattern restrictions in the (adapted)
notion of dependency pair chains, thus yielding a sound and complete approach
to termination analysis. Building upon this contextual dependency pair
framework we introduce a dependency pair processor that simplifies problems by
analyzing the contextual information of the dependency pairs. Moreover, we show
how this processor can be used to synthesize forbidden patterns suitable for a
given term rewriting system on-the-fly during the termination analysis.Comment: In Proceedings IWS 2010, arXiv:1012.533
Automated Termination Proofs for Logic Programs by Term Rewriting
There are two kinds of approaches for termination analysis of logic programs:
"transformational" and "direct" ones. Direct approaches prove termination
directly on the basis of the logic program. Transformational approaches
transform a logic program into a term rewrite system (TRS) and then analyze
termination of the resulting TRS instead. Thus, transformational approaches
make all methods previously developed for TRSs available for logic programs as
well. However, the applicability of most existing transformations is quite
restricted, as they can only be used for certain subclasses of logic programs.
(Most of them are restricted to well-moded programs.) In this paper we improve
these transformations such that they become applicable for any definite logic
program. To simulate the behavior of logic programs by TRSs, we slightly modify
the notion of rewriting by permitting infinite terms. We show that our
transformation results in TRSs which are indeed suitable for automated
termination analysis. In contrast to most other methods for termination of
logic programs, our technique is also sound for logic programming without occur
check, which is typically used in practice. We implemented our approach in the
termination prover AProVE and successfully evaluated it on a large collection
of examples.Comment: 49 page
Refinement Types as Higher Order Dependency Pairs
Refinement types are a well-studied manner of performing in-depth analysis on
functional programs. The dependency pair method is a very powerful method used
to prove termination of rewrite systems; however its extension to higher order
rewrite systems is still the object of active research. We observe that a
variant of refinement types allow us to express a form of higher-order
dependency pair criterion that only uses information at the type level, and we
prove the correctness of this criterion
Dynamic Dependency Pairs for Algebraic Functional Systems
We extend the higher-order termination method of dynamic dependency pairs to
Algebraic Functional Systems (AFSs). In this setting, simply typed lambda-terms
with algebraic reduction and separate {\beta}-steps are considered. For
left-linear AFSs, the method is shown to be complete. For so-called local AFSs
we define a variation of usable rules and an extension of argument filterings.
All these techniques have been implemented in the higher-order termination tool
WANDA
SAT Solving for Argument Filterings
This paper introduces a propositional encoding for lexicographic path orders
in connection with dependency pairs. This facilitates the application of SAT
solvers for termination analysis of term rewrite systems based on the
dependency pair method. We address two main inter-related issues and encode
them as satisfiability problems of propositional formulas that can be
efficiently handled by SAT solving: (1) the combined search for a lexicographic
path order together with an \emph{argument filtering} to orient a set of
inequalities; and (2) how the choice of the argument filtering influences the
set of inequalities that have to be oriented. We have implemented our
contributions in the termination prover AProVE. Extensive experiments show that
by our encoding and the application of SAT solvers one obtains speedups in
orders of magnitude as well as increased termination proving power
Dependency pairs for proving termination properties of conditional term rewriting systems
[EN] The notion of operational termination provides a logic-based definition of termination of computational systems as the absence of infinite inferences in the computational logic describing the operational semantics of the system. For Conditional Term Rewriting Systems we show that operational termination is characterized as the conjunction of two termination properties. One of them is traditionally called termination and corresponds to the absence of infinite sequences of rewriting steps (a horizontal dimension). The other property, that we call V-termination, concerns the absence of infinitely many attempts to launch the subsidiary processes that are required to perform a single rewriting step (a vertical dimension). We introduce appropriate notions of dependency pairs to characterize termination, V-termination, and operational termination of Conditional Term Rewriting Systems. This can be used to obtain a powerful and more expressive framework for proving termination properties of Conditional Term Rewriting Systems.Partially supported by the EU (FEDER), Spanish MINECO projects TIN 2013-45732-C4-1-P and TIN2015-69175-C4-1-R, GV project PROMETEOII/2015/013, and NSF grant CNS 13-19109. Salvador Lucas' research was partly developed during a sabbatical year at UIUCLucas Alba, S.; Meseguer, J. (2017). Dependency pairs for proving termination properties of conditional term rewriting systems. Journal of Logical and Algebraic Methods in Programming. 86(1):236-268. https://doi.org/10.1016/j.jlamp.2016.03.003S23626886
Context-Sensitive Dependency Pairs Framework
We show how to develop a dependency pair framework for proving termination of context-sensitive rewriting.Gutiérrez Gil, R. (2008). Context-Sensitive Dependency Pairs Framework. http://hdl.handle.net/10251/13625Archivo delegad
2D Dependency Pairs for Proving Operational Termination of CTRSs
The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-319-12904-4_11The notion of *operational termination* captures nonterminating computations due to subsidiary processes that are necessary to issue a *single* `main' step but which often remain `hidden' when the main computation sequence is observed. This highlights *two dimensions* of nontermination: one for the infinite sequencing of computation steps, and the other that concerns the proof of some single steps. For conditional term rewriting systems (CTRSs), we introduce a new *dependency pair framework* which exploits the *bidimensional* nature of conditional rewriting (rewriting steps + satisfaction of the conditions as reachability problems) to obtain a powerful and more expressive framework for proving operational termination of CTRSs.Lucas Alba, S.; Meseguer, J. (2014). 2D Dependency Pairs for Proving Operational Termination of CTRSs. En Rewriting Logic and Its Applications. Springer Verlag (Germany). 195-212. doi:10.1007/978-3-319-12904-4_11S19521
- …