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.
Preview
Unable to display preview. Download preview PDF.
References
Aubin, J., Mechanizing structural induction. Ph.D. Thesis, University of Edinburgh, Edinburgh, 1976.
Boyer, R.S. and Moore, J S., A computational logic. (Academic Press, New York, 1979).
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.
Brotz, D., Proving theorems by mathematical induction. Ph.D. Thesis, Computer Science Dept., Stanford University, Stanford 1976.
Burstall, R., “Proving properties of programs by structural induction,” Computer Journal 12(1), 41–48, 1969.
Dershowitz, N., Applications of the Knuth-Bendix Completion Procedure. Laboratory Operation, Aerosapce Corporation, Aerospace Report No. ATR-83(8478)-2, 15 May, 1983.
Dershowitz, N., “Termination of rewriting,” J. of Symbolic Computation 3, 1987, 69–116.
Goguen, J.A., “How to prove algebraic inductive hypotheses without induction,” Proc. of the Fifth Conference on Automated Deduction, 1980.
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).
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.
Guttag, J.V. and Homing, J.J., “The algebraic specification of abstract data types,” Acta Informatica 10(1), 1978, 27–52.
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.
Huet, G., “Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems,” JACM 27(4), October 1980.
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.
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).
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.
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.
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).
Kapur, D., and Musser, D.R., “Inductive reasoning with incomplete specifications,” in: Proc. of Logic in Computer Science Conference, Cambridge, MA, 1986.
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.
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.
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.
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.
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.
Knuth, D., and Bendix, P., “Simple Word Problems in Universal Algebras,” in: Leech (ed.) Computational Problems in Abstract Algebra, Pergamon Press, 1970, 263–297.
Lankford, D.S., A simple explanation of inductionless induction. MTP-14, Louisiana Tech University, Ruston, LA, 1981.
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.
Musser, D.R., “On Proving Inductive Properties of Abstract Data Types,” Proc. 7th Principles of Programming Languages, Las Vegas, Jan. 1980.
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.
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.
Wegbreit, B., and Spitzen, J.M., “Proving properties of complex data structures,” JACM 23(2), 1976, 389–396.
Author information
Authors and Affiliations
Editor information
Rights 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