Skip to main content

Mechanical verification of total correctness through diversion verification conditions

  • Refereed Papers
  • Conference paper
  • First Online:
Book cover Theorem Proving in Higher Order Logics (TPHOLs 1998)

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

Included in the following conference series:

Abstract

The total correctness of programs with mutually recursive procedures is significantly more complex than their partial correctness. Past methods of proving termination have suffered from being rigid, not general, non-intuitive, and ad hoc in structure, not suitable for mechanization. We have devised a new method for proving termination and mechanized it within an automatic tool called a Verification Condition Generator. This tool analyzes not only the program's syntax but also, uniquely, its procedure call graph, to produce verification conditions sufficient to ensure the program's total correctness. Diversion verification conditions reduce the labor involved in proving termination from infinite to finite. The VCG tool has itself been deeply embedded and proven sound within the HOL theorem prover with respect to the underlying structural operational semantics. Now proofs of total correctness of individual programs may be significantly automated with complete security.

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. P. America and F. de Boer. Proving Total Correctness of Recursive Procedures. Information and Computation, 84(2):129–162, 1990.

    Article  MATH  MathSciNet  Google Scholar 

  2. K. R. Apt. Ten Years of Hoare logic: A Survey — Part 1. ACM TOPLAS, 3(4):431–483, 1981.

    Article  MATH  Google Scholar 

  3. M. Gordon and T. Melham. Introduction to HOL, A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, Cambridge, 1993.

    Google Scholar 

  4. C. A. R. Hoare. Procedures and Parameters: an axiomatic approach. In: Proceedings of Symposium on Semantics of Algorithmic Languages, ed. E. Engeler, volume 188 of Lecture Notes in Mathematics, pages 102–116, 1971.

    Google Scholar 

  5. P. Homeier. Trustworthy Tools for Trustworthy Programs: A Mechanically Verified Verification Condition Generator for the Total Correctness of Procedures. Ph.D. Dissertation, UCLA Computer Science Department, 1995.

    Google Scholar 

  6. P. Homeier and D. Martin. A Mechanically Verified Verification Condition Generator. The Computer Journal, 38(2):131–141, 1995.

    Article  Google Scholar 

  7. P. Homeier and D. Martin. Mechanical Verification of Mutually Recursive Procedures. In M. A. McRobbie and J. K. Slaney (eds.), Proceedings of the 13th International Conference on Automated Deduction (CADE-13), volume 1104 of Lecture Notes in Artificial Intelligence, pages 201–215, Springer-Verlag, 1996.

    Google Scholar 

  8. S. Igarashi, R. L. London, and C. Luckham. Automatic program verification: A logical basis and its implementation. Acta Informatica, 4:145–182, 1975.

    Article  MathSciNet  Google Scholar 

  9. T. Melham. A Package for Inductive Relation Definitions in HOL. In M. Archer, J. Joyce, K. Levitt, and Windley (eds.), Proceedings of the 1991 International Workshop on the HOL Theorem Proving System and its Applications, Davis, August 1991. IEEE Computer Society Press, pages 350–357, 1992.

    Google Scholar 

  10. P. Pandya and M. Joseph. A Structure-directed Total Correctness Proof Rule for Recursive Procedure Calls. The Computer Journal, 29(6):531–537, 1986.

    Article  MATH  MathSciNet  Google Scholar 

  11. S. Sokolowski. Total Correctness for Procedures, In J. Gruska (ed), Proceedings, 6th Symposium on the Mathematical Foundations of Computer Science, volume 53 of Lecture Notes in Computer Science, pages 475–483, Springer-Verlag, 1977.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jim Grundy Malcolm Newey

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Homeier, P.V., Martin, D.F. (1998). Mechanical verification of total correctness through diversion verification conditions. In: Grundy, J., Newey, M. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1998. Lecture Notes in Computer Science, vol 1479. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055137

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64987-8

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics