Skip to main content

Automating induction over mutually recursive functions

  • Conference
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1101))

Abstract

In order to automate proofs by induction a crucial problem that needs to be addressed is to decide on an induction scheme that leads to appropriate induction hypotheses for carrying out the proof. Boyer and Moore proposed in [5] the use of terminating function definitions for generating induction schemes. Inspired by Boyer and Moore's work, Zhang, Kapur and Krishnamoorthy introduced the cover set induction method for mechanizing induction for equational specifications in [14]. Both these approaches do not consider interaction among function definitions. Induction schemes are generated by considering function definitions in isolation, one at a time. In applications involving mutually recursive definitions, exploiting interactions among the definitions seems crucial. The cover set method implemented in the theorem prover RRL [13] as well as the methods implemented for induction in Boyer and Moore's theorem prover Nqthm based on the above approaches, do not perform well when the definitions involved are mutually recursive. Proving even very simple properties over such definitions by these methods requires some form of user intervention. We discuss how the cover set induction method implemented in RRL can be extended to automatically prove inductive properties of mutual recursive functions. An algorithm for generating cover sets from mutually recursive definitions is given. The proposed method has been implemented in the theorem prover RRL and has been extensively experimented with good results. The effectiveness of the method is illustrated using a nontrivial example of showing the equivalence of the call by value and call by name bottom-up evaluation of arithmetic expressions. A comparison of the method with those employed in Nqthm and also with an approach based on implicit induction [7, 3, 2] implemented in the theorem prover Spike is given.

Partially supported by the National Science Foundation Grant no. CCR-9303394.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Bouhoula, Private Communication, March 1996.

    Google Scholar 

  2. A. Bouhoula, “Using Induction and Rewriting to Verify and Complete Parameterized Specifications”, To appear in Theoretical Computer Science, Dec. 1996.

    Google Scholar 

  3. A. Bouhoula and M. Rusinowitch, “Implicit induction in conditional theories”, Journal of Automated Reasoning, 1995.

    Google Scholar 

  4. R.S. Boyer and M. Kaufmann, Private Communication, March 1995.

    Google Scholar 

  5. R.S. Boyer and J S. Moore, A Computational Logic. ACM Monographs in Computer Sc., 1979.

    Google Scholar 

  6. R.S. Boyer and J. S. Moore, A Computational Logic Handbook. New York: Academic Press, 1988.

    Google Scholar 

  7. F. Bronsard, U. Reddy and R.W. Hasker, “Induction using term orderings,” Proc. 12th International Conference on Automated Deduction (CADE-12), Nancy, France, July 1994.

    Google Scholar 

  8. N. Dershowitz, “Termination of rewriting,” J. of Symbolic Computation, 3, 69–116, 1987.

    Google Scholar 

  9. D.Kapur and D.R. Musser, “Proof by Consistency”, AI Journal, 31(2):125–157, Feb. 1987.

    Google Scholar 

  10. D. Kapur and X. Nie, “Reasoning about numbers in Tecton,” Proc. of ISMIS'94, October 1994.

    Google Scholar 

  11. D. Kapur and M. Subramaniam, “Using linear arithmetic procedure for generating Induction Schemes,” Proc. Foundations of Software Technology and Theoretical Computer Science (FSTTCS-14) (ed: Thiagarajan), LNCS, Dec. 1994.

    Google Scholar 

  12. Deepak Kapur and M. Subramaniam, “ Automating Inductions over Mutual Recursive Functions”, CS Dept. Tech. Report, March. 1996.

    Google Scholar 

  13. D. Kapur and H. Zhang, “An overview of Rewrite Rule Laboratory (RRL),” J. of Computer and Mathematics with Applications, 29, 2, 1995, 91–114. Earlier descriptions in CADE-88 and RTA-89.

    Google Scholar 

  14. H. Zhang, D. Kapur, and M.S. Krishnamoorthy, “A mechanizable induction principle for equational specifications,” Proc. Ninth International Conference on Automated Deduction (CADE-9), Argonne, IL, LNCS 310, 162–181, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Martin Wirsing Maurice Nivat

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kapur, D., Subramaniam, M. (1996). Automating induction over mutually recursive functions. In: Wirsing, M., Nivat, M. (eds) Algebraic Methodology and Software Technology. AMAST 1996. Lecture Notes in Computer Science, vol 1101. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014311

Download citation

  • DOI: https://doi.org/10.1007/BFb0014311

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61463-0

  • Online ISBN: 978-3-540-68595-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics