Continuation-Based Program Transformation Strategies
Journal of the ACM (JACM)
Journal of Automated Reasoning
Partial recursive functions in higher-order logic
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Partial and Nested Recursive Function Definitions in Higher-order Logic
Journal of Automated Reasoning
The guardol language and verification system
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
A DSL for cross-domain security
Proceedings of the 2012 ACM conference on High integrity language technology
Hi-index | 0.00 |
A requirement for the admission of a recursive function definition in ACL2 is a proof that the recursion terminates. Establishing termination involves identifying a well-founded relation and an appropriate measure function that decreases according to the well-founded relation with each recursive call. Depending on the domain this process may prove difficult, unnecessary or even impossible. Manolios and Moore introduced a method for admitting tail-recursive function definitions that does not require the specification of a measure. Their method, however, does not produce an induction scheme. We present an extension of their method that enables the admission of arbitrary recursive function definitions and their associated induction schemes augmented with a termination check and justified by a partial measure. We demonstrate the use of this method by defining the tarai function and proving by induction its unwinding under the assumption that it terminates.