Functional instantiation in first-order logic
Artificial intelligence and mathematical theory of computation
On proving the termination of algorithms by machine
Artificial Intelligence
ML for the working programmer (2nd ed.)
ML for the working programmer (2nd ed.)
Introduction to Mathematical Logic and Type Theory: To Truth through Proof
Introduction to Mathematical Logic and Type Theory: To Truth through Proof
Journal of Automated Reasoning
Context Dependent Procedures and Computed Types in √eriFun
Electronic Notes in Theoretical Computer Science (ENTCS)
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
CIC∧: type-based termination of recursive definitions in the calculus of inductive constructions
LPAR'06 Proceedings of the 13th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Automated termination analysis for Haskell: from term rewriting to programming languages
RTA'06 Proceedings of the 17th international conference on Term Rewriting and Applications
Automated synthesis of induction axioms for programs with second-order recursion
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Hi-index | 0.00 |
Many algorithms on data structures such as terms (finitely branching trees) are naturally implemented by second-order recursion: A first-order procedure f passes itself as an argument to a second-order procedure like $\mathit{map}$, $\mathit{every}$, $\mathit{foldl}$, $\mathit{foldr}$, etc. to recursively apply f to the direct subterms of a term. We present a method for automated termination analysis of such procedures. It extends the approach of argument-bounded functions (i) by inspecting type components and (ii) by adding a facility to take care of second-order recursion. Our method has been implemented and automatically solves the examples considered in the literature. This improves the state of the art of inductive theorem provers, which (without our approach) require user interaction even for termination proofs of simple second-order recursive procedures.