Skip to main content
Log in

Term rewriting and beyond — theorem proving in Isabelle

  • Published:
Formal Aspects of Computing

Abstract

The subject of this paper is theorem proving based on rewriting and induction. Both principles are implemented as tactics within the generic theorem prover Isabelle. Isabelle's higher-order features enable us to go beyond first-order rewriting and express rewriting with conditionals, induction schemata, higher-order functions and program transformers. Applications include the verification and transformation of functional versions of insertion sort and quicksort.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Benanav, D., Kapur, D. and Narendran P.: Complexity of Matching Problems.J. Symbolic Computation,3, 203–216 (1987).

    Google Scholar 

  2. Boyer, R. S. and Moore, J. S.:A Computational Logic, Academic Press, 1979.

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

  4. Burstall, R. M. and Darlington, J.: A Transformation System for Developing Recursive Programs.J. ACM,24, 44–67 (1977).

    Google Scholar 

  5. de Groote, Ph.: How I Spent my Time in Cambridge with Isabelle, Report RR87-1, Unité d'Informatique, Université Catholique de Louvain, Belgium, 1987.

    Google Scholar 

  6. Futatsugi, K., Goguen, J. A., Jouannaud, J.-P. and Meseguer, J.: Principles of OBJ2,Proc. 12th ACM Symp. on Principles of Programming Languages, 52–66, 1985.

  7. Garland, S. J. and Guttag, J. V.: An Overview of LP, The Larch Prover,Proc. 3rd Intl. Conf. Rewriting Techniques and Applications, LNCS 355, 137–151, Springer-Verlag, 1989.

  8. Gordon, M. J. C., Milner, R. and Wadsworth, C. P.:Edinburgh LCF: A Mechanised Logic of Computation, LNCS 78, Springer-Verlag, 1979.

  9. Hannan, J. and Miller, D.: Uses of Higher-Order Unification for Implementing Program Transformers,Proc. 5th Intl. Logic Programming Conf., 1988.

  10. Harper, R., MacQueen, D. and Milner, R.: Standard ML, Report ECS-LFCS-86-2, Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, 1986.

  11. Huet, G. and Lang, B.: Proving and Applying Program Transformations Expressed with Second Order Patterns.Acta Informatica,11, 31–55 (1978).

    Google Scholar 

  12. Huet, G. and Oppen, D. C.: Equations and Rewrite Rules — A Survey. In:Formal Languages: Perspectives and Open Problems, R. Book (ed.), Academic Press, 1982.

  13. Hsiang, J. and Dershowitz, N.: Rewrite rules for clausal and non-clausal theorem proving,Proc. 10th Intl. Colloq. on Automata, Languages, and Programming, LNCS 154, 431–446, Springer-Verlag, 1983.

  14. Kirchner, C.: Computing Unification Algorithms,Proc. Symp. on Logic in Computer Science, Cambridge, MA, 206–217, 1985.

  15. Lescanne, P.: REVE: A Rewrite Rule Laboratory,Proc. 8th Intl. Conf. on Automated Deduction, LNCS 230, 695–696, Springer-Verlag, 1986.

  16. Martelli, A. and Montanari, U.: An Efficient Unification Algorithm.ACM TOPLAS,4(2), 258–282 (1982).

    Google Scholar 

  17. Martin, U. and Nipkow, T.: Automating Squiggol, Report 179, Computer Laboratory, University of Cambridge, September 1989. To appear in Proc. IFIP TC2 Working Conf. Programming Concepts and Methods, April 1990.

  18. Nipkow, T.: Equational Reasoning in Isabelle.Science of Computer Programming,12, 123–149 (1989).

    Google Scholar 

  19. Nipkow, T.: Proof Transformations for Equational Theories, Report 181, Computer Laboratory, University of Cambridge, September 1989.

  20. Nipkow, T.: Formal Verification of Data Type Refinement — Theory and Practice,Proc. REX Workshop on Refinement of Distributed Systems, to appear in LNCS.

  21. Padawitz, P.: Inductive Proofs of Constructor-Based Horn Clauses, Report MIP-8810, Fakultät für Mathematik und Informatik, Universität Passau, 1988.

  22. Padawitz, P.: Inductive Proofs by Resolution and Paramodulation, Tech. Report, Fakultät für Mathematik and Informatik, Universität Passau, 1988.

  23. Paulson, L. C.: A Higher-Order Implementation of Rewriting.Science of Computer Programming,3, 119–149 (1983).

    Google Scholar 

  24. Paulson, L. C.: Natural Deduction as Higher-Order Resolution.Journal of Logic Programming,3, 237–258 (1986).

    Google Scholar 

  25. Paulson, L. C.:Logic and Computation, Cambridge University Press, 1987.

  26. Paulson, L. C.: A Preliminary User's Manual for Isabelle, Report 133, Computer Laboratory, University of Cambridge, May 1988.

  27. Paulson, L. C.: The Foundation of a Generic Theorem Prover.Journal of Automated Reasoning, in press.

  28. Pfenning, F. and Elliot, C.: Higher-Order Abstract Syntax,Proc. ACM-SIGPLAN Conf. on Programming Language Design and Implementation, 199–208, 1988.

  29. Zhegalkin, I. I.: On a Technique of Evaluation of Propositions in Symbolic Logic.Matematicheskii Sbornik,34(1), 9–27 (1927).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nipkow, T. Term rewriting and beyond — theorem proving in Isabelle. Formal Aspects of Computing 1, 320–338 (1989). https://doi.org/10.1007/BF01887212

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Key words

Navigation