On proving the termination of algorithms by machine
Artificial Intelligence
Termination of term rewriting using dependency pairs
Theoretical Computer Science - Trees in algebra and programming
The size-change principle for program termination
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dependent Types for Program Termination Verification
Higher-Order and Symbolic Computation
Termination Analysis for Functional Programs using Term Orderings
SAS '95 Proceedings of the Second International Symposium on Static Analysis
TEA: Automatically Proving Termination of Programs in a Non-strict Higher-Order Functional Language
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Type-based termination of recursive definitions
Mathematical Structures in Computer Science
Transformation techniques for context-sensitive rewrite systems
Journal of Functional Programming
Automated termination analysis for logic programs by term rewriting
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
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
Mechanizing and Improving Dependency Pairs
Journal of Automated Reasoning
Practical use of polynomials over the reals in proofs of termination
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Termination analysis and call graph construction for higher-order functional programs
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Comparing CSP and SAT Solvers for Polynomial Constraints in Termination Provers
Electronic Notes in Theoretical Computer Science (ENTCS)
Termination of Lazy Rewriting Revisited
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
RTA '08 Proceedings of the 19th international conference on Rewriting Techniques and Applications
The Computability Path Ordering: The End of a Quest
CSL '08 Proceedings of the 22nd international workshop on Computer Science Logic
Termination of rewriting under strategies
ACM Transactions on Computational Logic (TOCL)
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)
Analysis of Rewrite-Based Access Control Policies
Electronic Notes in Theoretical Computer Science (ENTCS)
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
Proving Termination of Integer Term Rewriting
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
Web Services and Interoperability for the Maude Termination Tool
Electronic Notes in Theoretical Computer Science (ENTCS)
Methods for Proving Termination of Rewriting-based Programming Languages by Transformation
Electronic Notes in Theoretical Computer Science (ENTCS)
Automated termination proofs for logic programs by term rewriting
ACM Transactions on Computational Logic (TOCL)
Termination Analysis by Dependency Pairs and Inductive Theorem Proving
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
SAT solving for termination analysis with polynomial interpretations
SAT'07 Proceedings of the 10th international conference on Theory and applications of satisfiability testing
Degrees of undecidability in term rewriting
CSL'09/EACSL'09 Proceedings of the 23rd CSL international conference and 18th EACSL Annual conference on Computer science logic
A compact fixpoint semantics for term rewriting systems
Theoretical Computer Science
Automated termination analysis for logic programs with cut*
Theory and Practice of Logic Programming
POP and semantic labeling using SAT
ESSLLI'08/09 Proceedings of the 2008 international conference on Interfaces: explorations in logic, language and computation
Automated termination proofs for haskell by term rewriting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
Goal-directed and relative dependency pairs for proving the termination of narrowing
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Automated termination analysis for programs with second-order recursion
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Narrowing, abstraction and constraints for proving properties of reduction relations
Rewriting Computation and Proof
Programming errors in traversal programs over structured data
Science of Computer Programming
Hi-index | 0.02 |
There are many powerful techniques for automated termination analysis of term rewriting. However, up to now they have hardly been used for real programming languages. We present a new approach which permits the application of existing techniques from term rewriting in order to prove termination of programs in the functional language Haskell. In particular, we show how termination techniques for ordinary rewriting can be used to handle those features of Haskell which are missing in term rewriting (e.g., lazy evaluation, polymorphic types, and higher-order functions). We implemented our results in the termination prover AProVE and successfully evaluated them on existing Haskell-libraries.