Advertisement

Automatic Derivation and Application of Induction Schemes for Mutually Recursive Functions

  • Richard J. Boulton
  • Konrad Slind
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1861)

Abstract

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.

Keywords

Theorem Prove Recursive Function Induction Scheme High Order Logic Proof Procedure 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    R. Boulton, K. Slind, A. Bundy, and M. Gordon. An interface between CLAM and HOL. In Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics (TPHOLs’ 98), volume 1479 of Lecture Notes in Computer Science, pages 87–104, Springer, 1998.CrossRefGoogle Scholar
  2. 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
  3. 3.
    R. S. Boyer and J S. Moore. A Computational Logic. ACM Monograph Series. Academic Press, New York, 1979.zbMATHGoogle Scholar
  4. 4.
    A. Bundy, A. Stevens, F. van Harmelen, A. Ireland, and A. Smaill. Rippling: A heuristic for guiding inductive proofs. Artificial Intelligence, 62:185–253, 1993.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 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. 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. 7.
    J. T. Hesketh. Using Middle-Out Reasoning to Guide Inductive Theorem Proving. PhD thesis, University of Edinburgh, 1991.Google Scholar
  8. 8.
    D. Kapur and M. Subramaniam. Automating induction over mutually recursive functions. In Proceedings of the 5th International Conference on Algebraic Methodology and Software Technology (AMAST’96), volume 1101 of Lecture Notes in Computer Science, Springer, 1996.CrossRefGoogle Scholar
  9. 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. 10.
    L. C. Paulson. ML for the Working Programmer. Cambridge University Press, 2nd edition, July 1996.Google Scholar
  11. 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. 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
  13. 13.
    K. Slind. Derivation and use of induction schemes in higher-order logic. In Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics (TPHOLs’97), volume 1275 of Lecture Notes in Computer Science, pages 275–290, Springer, 1997.CrossRefGoogle Scholar
  14. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Richard J. Boulton
    • 1
  • Konrad Slind
    • 2
  1. 1.Division of InformaticsUniversity of EdinburghEdinburghUK
  2. 2.University of Cambridge Computer LaboratoryCambridgeUK

Personalised recommendations