Skip to main content
Log in

Annotations in formal specifications and proofs

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

Formal specification languages and proof methodologies are useful tools in reasoning about different domains: they provide a precise notation in which to express facts, and rigorous procedures with which to ascertain correctness properties of claims made. However, there are several drawbacks to such methods: formal languages make it difficult to express the richness of description of problems and facts, and inferences in these systems are made by choosing from a limited set of small logical steps that do not bear an obvious relationship to the way humans derive and understand proofs.

This paper describes a system of annotations that can be used to incorporate informal semantic information concerning the domain being reasoned about into a formal proof environment, in such a way as to guide proof development and provide proof explanation. These annotations can be used to provide a link between mechanized processing and the meaning assigned to the symbols being processed. While the concepts proposed are general, this paper presents an implementation of annotations in the HOL proof system, and demonstrates the usefulness of these annotations in the context of the verification of computational systems.

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.

Similar content being viewed by others

References

  1. Andrzej Blike and Andrzej Tarlecki, “Naive denotational semantics,”Information Processing, 83.

  2. Boyer, Robert S. and Strother Moore., J.,A Computational Logic Handbook. Academic Press, 1988.

  3. Bundy, Alan,The Computer Modelling of Mathematical Reasoning. Academic Press, 1983.

  4. Burstall, R. M. and Goguen, J. A. “An information introduction to specifications using CLEAR,” In N. Gehani and A. D. McGettrick, editors,Software Specification Techniques, Addison-Wesley, 1986.

  5. University of Cambridge, SRI International, and DSTO Australia,The HOL System, 1991.

  6. Church, Alonzo, “A formulation of the simple theory of types,”Symbolic Logic, 5(1), 1940.

  7. Dershowitz, Nachum,The Evolution of Programs, Birkhauser 1983.

  8. Gehani, Narain, “Specifications: formal and informal—a case study,” In N. Gehani and A. D. McGettrick, editors,Software Specification Techniques, Addison-Wesley, 1986.

  9. Gordon, Michael, “HOL: a proof generating system for higher-order logic,” InVLSI Specification, Verification, and Synthesis, Kluwer Academic Press, 1988.

  10. Gordon, Michael, Milner, Robin, and Wadsworth, C. P.Edinburgh LCF: A Mechanized Logic of Computation, Springer-Verlag, 1979.

  11. Harper, Robert, “Introduction to Standard ML,” Technical Report ECS-LFCS-86-14, LFCS, University of Edinburgh, 1989.

  12. Kalvala, Sara, “Developing an interface of HOL” in1991 International Workshop on the HOL Theorem Prover and its Applications, ACM/IEEE, 1991.

  13. Paulson, Lawrence,ML for the Working Programmer, Cambridge University Press, 1991.

  14. Robinson, J. A., “A machine oriented logic based on the resolution principle,”Journal of the ACM, 12, 1965.

  15. Robinson, J. A., “Formal and informal proofs. In Robert S. Boyer, editor,”Automated Reasoning: Essay in Honor of Woody Bledsoe, Kluwer Academic, 1991.

  16. Scott, Dana, “Domains for denotational semantics,” InProceedings of ICALP '82, Springer-Verlag, 1982.

  17. Slind, Konrad, “An implementation of higer order logic,” Technical Report 91/419/03, Department of Computer Science, The University of Calgary, 1991.

  18. Spivey, M. J.,The Z notation—a reference manual, Prentice Hall, 1989.

  19. Wegbreit, Ben, “Constructive methods in program verification,” Technical Report CSL-76-2, XEROX Palo Alto Research Center, 1976.

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was sponsored under Boeing Contract NAS1-18586, Task Assignment No. 3, with NASA-Langley Research Center, and by NSA under agreement DOD-MDA 904-91-C-7053, during the author's affiliation with the University of California, Davis, USA.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kalvala, S. Annotations in formal specifications and proofs. Form Method Syst Des 5, 119–144 (1994). https://doi.org/10.1007/BF01384236

Download citation

  • Issue Date:

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

Keywords

Navigation