Skip to main content

A mechanizable induction principle for equational specifications

  • Conference paper
  • First Online:
9th International Conference on Automated Deduction (CADE 1988)

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

Included in the following conference series:

Abstract

Automating proofs of properties of functions defined on inductively constructed data structures is important in many computer science and artificial intelligence applications, in particular in program verification and specification systems. A new induction principle based on a constructor model of a data structure is developed. This principle along with a given function definition as a set of equations is used to construct automatically an induction scheme suitable for proving inductive properties of the function. The proposed induction principle thus gives different induction schema for different function definitions, just as Boyer and Moore's prover does. A novel feature of this approach is that it can also be used for proving properties by induction for data structures such as integers, finite sets, whose values cannot be freely constructed, i.e., constructors for such data structures are related to each other. This method has been implemented in RRL, a rewrite-rule based theorem prover. More than a hundred theorems in number theory including the unique prime factorization theorem, have been proved using the method.

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

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aubin, J., Mechanizing structural induction. Ph.D. Thesis, University of Edinburgh, Edinburgh, 1976.

    Google Scholar 

  2. Boyer, R.S. and Moore, J S., A computational logic. (Academic Press, New York, 1979).

    Google Scholar 

  3. Boyer, R.S. and Moore, J S., “Overview of a theorem-prover for a computational logic,” in: Proc. 8th Intl. Conf. on Automated Deduction (CADE-8), Oxford, U.K., 1986, LNCS, Springer-Verlag, NY.

    Google Scholar 

  4. Brotz, D., Proving theorems by mathematical induction. Ph.D. Thesis, Computer Science Dept., Stanford University, Stanford 1976.

    Google Scholar 

  5. Burstall, R., “Proving properties of programs by structural induction,” Computer Journal 12(1), 41–48, 1969.

    Google Scholar 

  6. Dershowitz, N., Applications of the Knuth-Bendix Completion Procedure. Laboratory Operation, Aerosapce Corporation, Aerospace Report No. ATR-83(8478)-2, 15 May, 1983.

    Google Scholar 

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

    Google Scholar 

  8. Goguen, J.A., “How to prove algebraic inductive hypotheses without induction,” Proc. of the Fifth Conference on Automated Deduction, 1980.

    Google Scholar 

  9. Goguen, J.A., Thatcher, J.W. and Wagner, E.W., “Initial algebra approach to the specification, correctness, and implementation of abstract data types,” in: R.T. Yeh (ed.), Data Structuring, Current Trends in Programming Methodology, 4 (Prentice-Hall, Englewood Cliffs, NJ, 1978).

    Google Scholar 

  10. Guttag, J., The Specification and Application to Programming of Abstract Data Types. Department of Computer Science, Univ. of Toronto, Ph.D. Thesis, CSRG-59, 1975.

    Google Scholar 

  11. Guttag, J.V. and Homing, J.J., “The algebraic specification of abstract data types,” Acta Informatica 10(1), 1978, 27–52.

    Article  Google Scholar 

  12. Hsiang, J. and Dershowitz, N., “Rewrite methods for clausal and nonclausal theorem proving,” in: Proc. Tenth EATCS, Inter. Collo. on Automata, Languages, and Programming, Barcelona, Spain, 1983.

    Google Scholar 

  13. Huet, G., “Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems,” JACM 27(4), October 1980.

    Google Scholar 

  14. Huet, G. and Hullot, J.M., “Proofs by induction in equational theories with constructors,” in: 21st IEEE Symposium on Foundations of Computer Science, Syracuse, NY. 1980, 96–107.

    Google Scholar 

  15. Huet, G. and Oppen, D., “Equations and rewrite rules: a survey,” in: R. Book (ed.), Formal Languages: Perspectives and Open Problems, (Academic Press, New York, 1980).

    Google Scholar 

  16. Jouannaud, J.-P., and Kounalis, E., “Proofs by Induction in Equational Theories Without Constructors,” in: Proc. of Logic in Computer Science Conference, Cambridge, MA, 1986.

    Google Scholar 

  17. Kanamori, T., Fujita, H., “Formulation of induction formulas in verification of Prolog programs,” Proc. of 8th Intl Conf. on Automated Deduction (CADE-8), Oxford, U.K., 1986.

    Google Scholar 

  18. Kapur, D., and Musser, D.R., “Proof by Consistency,” Proc. of an NSF Workshop on the Rewrite Rule Laboratory, Sept. 4–6, 1983. Schenectady, G.E. R&D Center Report GEN84008, April 1984. (also in Artificial Intelligence 31, 1987, 125–57).

    Google Scholar 

  19. Kapur, D., and Musser, D.R., “Inductive reasoning with incomplete specifications,” in: Proc. of Logic in Computer Science Conference, Cambridge, MA, 1986.

    Google Scholar 

  20. Kapur, D., Narendran, P., and Zhang, H., “On Sufficient Completeness and Related Properties of Term Rewriting Systems,” Unpublished Manuscript, General Electric R&D Center, Schenectady, NY, Oct. 1985. To appear in Acta Informatica.

    Google Scholar 

  21. Kapur, D., Narendran, P., and Zhang, H., “Proof by induction using test sets,” Proc. of 8th Intl Conf. on Automated Deduction (CADE-8), Oxford, U.K., 1986.

    Google Scholar 

  22. Kapur, D. and Sivakumar, G., “Experiments with and Architecture of RRL, a Rewrite Rule Laboratory,” Proc. of An NSF Workshop on the Rewrite Rule Lab., Sept. 1983. General Electric R&D Center Report 84GEN008, 33–56, April 1984.

    Google Scholar 

  23. Kapur, D., Sivakumar, G., and Zhang, H., “RRL: A Rewrite Rule Laboratory,” Proc. of 8th Intl Conf. on Automated Deduction (CADE-8), Oxford, U.K., 1986.

    Google Scholar 

  24. Kirchner, H., “A General Inductive Algorithm and Application to Abstract Data Types,” Proc. 7th Intl. Conf. on Automated Deduction (CADE-7), LNCS 170, Springer-Verlag, May 1984.

    Google Scholar 

  25. Knuth, D., and Bendix, P., “Simple Word Problems in Universal Algebras,” in: Leech (ed.) Computational Problems in Abstract Algebra, Pergamon Press, 1970, 263–297.

    Google Scholar 

  26. Lankford, D.S., A simple explanation of inductionless induction. MTP-14, Louisiana Tech University, Ruston, LA, 1981.

    Google Scholar 

  27. McCarthy, John, “A basis for a mathematical theory of computation,” Computer Programming and Formal Systems, P. Braffort and d. Hirschberg [ed.], Norht-Holland, Amsterdam, 1963, 33–70.

    Google Scholar 

  28. Musser, D.R., “On Proving Inductive Properties of Abstract Data Types,” Proc. 7th Principles of Programming Languages, Las Vegas, Jan. 1980.

    Google Scholar 

  29. Musser, D.R., and Kapur, D., “Rewrite Rule Theory and Abstract Data Type Analysis,” EUROCAM 1982 LNCS 144 (ed. Calmet), Springer-Verlag, 77–90, April 1982.

    Google Scholar 

  30. Paul, E., “Proof by induction in equational theories with relations between constructors,” in: B. Courcelle (ed.), Ninth Colloquium on Trees in Algebra and Programming, Bordeaux, France, 1984, 211–215.

    Google Scholar 

  31. Wegbreit, B., and Spitzen, J.M., “Proving properties of complex data structures,” JACM 23(2), 1976, 389–396.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ewing Lusk Ross Overbeek

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zhang, H., Kapur, D., Krishnamoorthy, M.S. (1988). A mechanizable induction principle for equational specifications. In: Lusk, E., Overbeek, R. (eds) 9th International Conference on Automated Deduction. CADE 1988. Lecture Notes in Computer Science, vol 310. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0012831

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-19343-2

  • Online ISBN: 978-3-540-39216-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics