Term rewriting and all that
Transformation techniques for context-sensitive rewrite systems
Journal of Functional Programming
Termination of String Rewriting Proved Automatically
Journal of Automated Reasoning
Loop detection in term rewriting using the eliminating unfoldings
Theoretical Computer Science
RTA '08 Proceedings of the 19th international conference on Rewriting Techniques and Applications
From Outermost Termination to Innermost Termination
SOFSEM '09 Proceedings of the 35th Conference on Current Trends in Theory and Practice of Computer Science
A Transformational Approach to Prove Outermost Termination Automatically
Electronic Notes in Theoretical Computer Science (ENTCS)
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
AProVE 1.2: automatic termination proofs in the dependency pair framework
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Proving and disproving termination of higher-order functions
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
Automated termination analysis for Haskell: from term rewriting to programming languages
RTA'06 Proceedings of the 17th international conference on Term Rewriting and Applications
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
Proving termination properties with MU-TERM
AMAST'10 Proceedings of the 13th international conference on Algebraic methodology and software technology
Programming errors in traversal programs over structured data
Science of Computer Programming
Hi-index | 0.06 |
Most techniques to automatically disprove termination of term rewrite systems search for a loop. Whereas a loop implies non-termination for full rewriting, this is not necessarily the case if one considers rewriting under strategies. Therefore, in this paper we first generalize the notion of a loop to a loop under a given strategy. In a second step we present two novel decision procedures to check whether a given loop is a context-sensitive or an outermost loop. We implemented and successfully evaluated our method in the termination prover ${\textsf{T\kern-0.2em\raisebox{-0.3em}T\kern-0.2emT\kern-0.2em\raisebox{-0.3em}2}}$.