Abstract
The refinement calculus provides a theory for the stepwise refinement of programs and this theory has been formalised in HOL. TkWinHOL is a powerful graphical user interface (GUI) that can be used to drive the HOL window Library. In this paper, we describe a tool called the Refinement Calculator which combines TkWinHOL and the HOL Refinement Calculus theory, to provide support for formal program development. The tool improves the usability of the HOL Refinement Calculus theory considerably through its window-inference based GUI and by supporting a conventional programming syntax.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
F. Andersen. A Theorem Prover for UNITY in Higher Order Logic. PhD thesis, Technical University of Denmark, Lyngby, 1992.
R. Back. Correctness Preserving Program Refinements: Proof Theory and Applications, volume 131 of Mathematical Center Tracts. Mathematical Centre, Amsterdam, 1980.
R. Back. A calculus of refinements for program derivations. Acta Informatica, 25:593–624, 1988.
R. Back and J. von Wright. Refinement concepts formalized in higher order logic. Formal Aspects of Computing, 2:247–272, 1990.
M. Butler, T. Långbacka, R. Rukšėnas, and J. von Wright. Refinement Calculator tutorial and manual. Draft — available upon request.
A. Camillieri. Mechanizing CSP trace theory in Higher Order Logic. IEEE Transactions on Software Engineering, 16(9):993–1004, 1990.
D. Carrington, I. Hayes, R. Nickson, G. Watson, and J. Welsh. A tool for developing correct programs by refinement. For presentation at 7th BCS-FACS Refinement Workshop, July 1996.
E. W. Dijkstra. A Discipline of Programming. Prentice-Hall International, 1976.
J. Grundy. Window inference in the HOL system. In Myla Archer, Jeffrey J. Joyce, Karl N. Levitt, and Phillip J. Windley, editors, Proceedings of the International Tutorial and Workshop on the HOL Theorem Proving System and its Applications, pages 177–189, University of California at Davis, August 1991. ACM-SIGDA, IEEE Computer Society Press.
J. Grundy. A window inference tool for refinement. In Jones et al, editor, Proc. 5th Refinement Workshop, London, Jan. 1992. Springer-Verlag.
J. Grundy. HOL90 window library manual. 1994.
T. Långbacka. TkWinHOL users guide. Draft — available upon request.
T. Långbacka, R. Rukšėnas, and J. von Wright. TkWinHOL: A tool for doing window inference in HOL. In Schubert et al. [17], pages 245–260.
C.C. Morgan. Programming from Specifications (2nd Edition). Prentice-Hall, 1994.
J.M. Morris. A theoretical basis for stepwise refinement and the programming calculus. Sci. Comp. Prog., 9(3):298–306, 1987.
P.J. Robinson and J. Staples. Formalising the hierarchical structure of practical mathematical reasoning. Journal of Logic and Computation, 3(1):47–61, February 1993.
E. Thomas Schubert, Phillip J. Windley, and James Alves-Foss, editors. Higher Order Logic Theorem Proving and Its Applications: Proceedings of the 8th International Workshop, volume 971 of Lecture Notes in Computer Science, Aspen Grove, Utah, September 1995. Springer-Verlag.
D. Syme. A new interface for HOL — ideas, issues and implementation. In Schubert et al. [17], pages 324–339.
L. Théry. A Proof Development System for the HOL Theorem Prover. In Jeffrey J. Joyce and Carl-Johan H. Seger, editors, Higher Order Logic Theorem Proving and Its Applications — 6th International Workshop, HUG’ 93 Vancouver, B. C., Canada, August 1993, volume 780 of Lecture Notes in Computer Science, pages 115–128. Springer Verlag, 1993.
M. Utting and K. Whitwell. Ergo user manual. Technical Report 93-19, Software Verification Research Centre, University of Queensland, 1994.
J. von Wright. Program refinement by theorem prover. In BCS FACS Sixth Refinement Workshop — Theory and Practise of Formal Software Development. 5th–7th January, City University, London, UK., 1994.
J. von Wright, J. Hekanaho, P. Luostarinen, and T. Långbacka. Mechanising some advanced refinement concepts. Formal Methods in Systems Design, 3:49–81, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Butler, M., Långbacka, T. (1996). Program derivation using the refinement calculator. In: Goos, G., Hartmanis, J., van Leeuwen, J., von Wright, J., Grundy, J., Harrison, J. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1996. Lecture Notes in Computer Science, vol 1125. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0105399
Download citation
DOI: https://doi.org/10.1007/BFb0105399
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61587-3
Online ISBN: 978-3-540-70641-0
eBook Packages: Springer Book Archive