Skip to main content

Using linear arithmetic procedure for generating induction schemes

  • Applied Algorithmics
  • Conference paper
  • First Online:
Foundation of Software Technology and Theoretical Computer Science (FSTTCS 1994)

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

Abstract

Inspired by Boyer and Moore's approach for generating induction schemes based on terminating function definitions, Zhang, Kapur and Krishnamoorthy introduced a cover set method for designing induction schemes for automating proofs by induction from specifications expressed as equations and conditional equations. This method has been implemented in the theorem prover Rewrite Rule Laboratory (RRL) and a proof management system Tecton built on top of RRL, and it has been used to prove many nontrivial theorems and reason about sequential as well as parallel programs. The cover set method is based on the assumption that a function symbol is defined using a finite set of terminating (conditional or unconditional) rewrite rules. The left side of the rules are used to design different cases of an induction scheme, and recursive calls to the function made in the right side can be used to design appropriate instantiations for generating induction hypotheses. A weakness of this method is that it relies on syntactic unification for generating an induction scheme for a conjecture. This paper goes a step further by proposing semantic analysis for generating an induction scheme for a conjecture from a cover set. The use of a decision procedure for Presburger arithmetic (quantifier-free theory of numbers with the addition operation and relational predicates >, <, ≠, =, ≥, ≤) is discussed for performing semantic analysis about numbers. The focus in this paper is on the use of the decision procedure for generating appropriate induction schemes from a conjecture and cover sets. This extension of the cover set method automates proofs of many theorems which otherwise, require human guidance and hints. The effectiveness of the method is demonstrated using simple examples which commonly arise in reasoning about specifications and programs. It is shown how semantic analysis using a Presburger arithmetic decision procedure can be used for checking the completeness of a cover set of a function defined using operations such as + and − on numbers. Using this check, the completeness of many function definitions used in a proof of the prime factorization theorem stating that every number can be factored uniquely into prime factors, which had to be checked manually, can now be checked automatically in RRL.

Partially supported by the National Science Foundation Grant no. CCR-9303394 and subcontract CB0249 of SRI contract MDA904-92-C-5186 with The Maryland Procurement Office.

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. R.S. Boyer and J S. Moore, A Computational Logic. ACM Monographs in Computer Science, 1979.

    Google Scholar 

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

    Google Scholar 

  3. R.S. Boyer and J. S. Moore, “Integrating decision procedures into heuristic theorem provers: A case study of linear arithmetic,” Machine Intelligence 11 (1988) 83–157.

    Google Scholar 

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

    Google Scholar 

  5. J.-P. Jouannaud and E. Kounalis, “Automatic proofs by induction in theories without constructors,” Information and Computation 82, 1–33, 1989.

    Google Scholar 

  6. D. Kapur, “An automated tool for analyzing completeness of equational specifications,” Proc. of 1994 International Symposiumm on Software Testing and Analysis (ISSTA), Seattle, August 1994, 28–43.

    Google Scholar 

  7. D. Kapur, D.R. Musser, and X. Nie, “An Overview of the Tecton Proof System,” to appear in Theoretical Computer Science Journal, special issue on Formal Methods in Databases and Soft. Engg, (ed. V. Alagar), Vol. 133, October, 1994.

    Google Scholar 

  8. D. Kapur and X. Nie, “Reasoning about numbers in Tecton,” Dept. Tech. Report, March 1994. Accepted at ISMIS'94, October 1994.

    Google Scholar 

  9. D. Kapur, P. Narendran, D. Rosenkrantz, H. Zhang., “Sufficient-completeness, quasi-reducibility and their complexity,” Acta Informatica, 28, 1991, 311–350.

    Google Scholar 

  10. D. Kapur and M. Subramaniam, New Uses of Linear Arithmetic in Automated Theorem Proving by Induction, Tech. Report, Dept. of Computer Science, State University of New York, Albany, Aug. 1994.

    Google Scholar 

  11. D. Kapur and H. Zhang, “An overview of Rewrite Rule Laboratory (RRL),” to appear in a special issue of Computers in Math. with Applications, 1994. Earlier descriptions in CADE-88 and RTA-89.

    Google Scholar 

  12. H. Zhang, Reduction, superposition and induction: automated reasoning in an equational logic. Ph.D. Thesis, Department of Computer Science, RPI, Troy, NY, 1988.

    Google Scholar 

  13. H. Zhang, D. Kapur, and M.S. Krishnamoorthy, “A mechanizable induction principle for equational specifications,” Proc. of (CADE-9), Argonne, IL. Springer-Verlag LNCS 310, 250–265, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

P. S. Thiagarajan

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kapur, D., Subramaniam, M. (1994). Using linear arithmetic procedure for generating induction schemes. In: Thiagarajan, P.S. (eds) Foundation of Software Technology and Theoretical Computer Science. FSTTCS 1994. Lecture Notes in Computer Science, vol 880. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58715-2_144

Download citation

  • DOI: https://doi.org/10.1007/3-540-58715-2_144

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58715-6

  • Online ISBN: 978-3-540-49054-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics