Automatic Derivation and Application of Induction Schemes for Mutually Recursive Functions
This paper advocates and explores the use of multi-predicate induction schemes for proofs about mutually recursive functions. The interactive application of multi-predicate schemes stemming from datatype definitions is already well-established practice; this paper describes an automated proof procedure based on multi-predicate schemes. Multi-predicate schemes may be formally derived from (mutually recursive) function definitions; such schemes are often helpful in proving properties of mutually recursive functions where the recursion pattern does not follow that of the underlying datatypes. These ideas have been implemented using the HOL theorem prover and the Clam proof planner.
KeywordsTheorem Prove Recursive Function Induction Scheme High Order Logic Proof Procedure
Unable to display preview. Download preview PDF.
- 2.R. J. Boulton. Multi-predicate induction schemes for mutual recursion. Informatics Research Report EDI-INF-RR-0014, Division of Informatics, University of Edinburgh, April 2000.Google Scholar
- 5.A. Bundy, F. van Harmelen, C. Horn, and A. Smaill. The OYSTER-CLAM system. In Proceedings of the 10th International Conference on Automated Deduction, volume 449 of Lecture Notes in Artificial Intelligence, pages 647–648, Springer, 1990.Google Scholar
- 6.M. J. C. Gordon and T. F. Melham, editors. Introduction to HOL: A theorem proving environment for higher order logic. Cambridge University Press, 1993.Google Scholar
- 7.J. T. Hesketh. Using Middle-Out Reasoning to Guide Inductive Theorem Proving. PhD thesis, University of Edinburgh, 1991.Google Scholar
- 9.P. Liu and R.-J. Chang. A new structural induction scheme for proving properties of mutually recursive concepts. In Proceedings of the 6th National Conference on Artificial Intelligence, volume 1, pages 144–148. AAAI, July 1987.Google Scholar
- 10.L. C. Paulson. ML for the Working Programmer. Cambridge University Press, 2nd edition, July 1996.Google Scholar
- 11.M. Protzen. Lazy generation of induction hypotheses. In Proceedings of the 12th International Conference on Automated Deduction (CADE-12), volume 814 of Lecture Notes in Artificial Intelligence, pages 42–56, Springer, 1994.Google Scholar
- 12.K. Slind. Function definition in higher-order logic. In Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics (TPHOLs’96), volume 1125 of Lecture Notes in Computer Science, pages 381–397, Springer, 1996.Google Scholar
- 14.K. Slind. Reasoning about Terminating Functional Programs. PhD Thesis, Institut für Informatik, Technische Universität München, 1999. Accessible at http://www.cl.cam.ac.uk/users/kxs/papers.
- 15.M. VanInwegen and E. Gunter. HOL-ML. In Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications (HUG’93), volume 780 of Lecture Notes in Computer Science, pages 61–74, Springer, 1994.Google Scholar
- 16.C. Walther. Combining induction axioms by machine. In Proceedings of the Thirteenth International Joint Conference on Artificial Intelligence (IJCAI-93), volume 1, pages 95–100, Morgan Kaufmann Publishers, Inc.Google Scholar