Program Derivation Using the Refinement Calculator

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.

[1]  Carroll Morgan,et al.  Programming from specifications (2nd ed.) , 1994 .

[2]  Rimvydas Ruk,et al.  TkWinHOL A Tool for Doing Window Inference in HOL , 1995 .

[3]  Jim Grundy,et al.  Window Inference In The HOL System , 1991, 1991., International Workshop on the HOL Theorem Proving System and Its Applications.

[4]  Albert John Camilleri Mechanizing CSP Trace Theory in Higher Order Logic , 1990, IEEE Trans. Software Eng..

[5]  Joseph M. Morris,et al.  A Theoretical Basis for Stepwise Refinement and the Programming Calculus , 1987, Sci. Comput. Program..

[6]  Jim Welsh,et al.  A tool for developing correct programs by refinement , 1996 .

[7]  Ralph-Johan Back,et al.  Refinement Concepts Formalized in Higher Order Logic , 1989, Programming Concepts and Methods.

[8]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[9]  Laurent Théry,et al.  A proof development system for the HOL theorem prover , 1993 .

[10]  Mark Utting,et al.  Ergo user manual, Technical Report 93-19 , 1994 .

[11]  Jim Alves-Foss,et al.  Higher Order Logic Theorem Proving and its Applications 8th International Workshop, Aspen Grove, Ut, Usa, September 11-14, 1995 : Proceedings , 1995 .

[12]  Jim Grundy,et al.  A Window Inference Tool for Refinement , 1992, Refine.

[13]  Joakim von Wright Program Refinement by Theorem Prover , 1994, Refine.

[14]  Joakim von Wright,et al.  Mechanizing some advanced refinement concepts , 1992, Formal Methods Syst. Des..

[15]  Don Syme,et al.  A New Interface for HOL - Ideas, Issues and Implementation , 1995, TPHOLs.

[16]  Michael J. C. Gordon,et al.  Higher Order Logic Theorem Proving and Its Applications , 1994, Lecture Notes in Computer Science.

[17]  Rimvydas Ruksenas,et al.  TkWinHOL: A Tool for Window Inference in HOL , 1995, TPHOLs.

[18]  Ralph-Johan Back,et al.  Correctness preserving program refinements: Proof theory and applications , 1980 .

[19]  John Staples,et al.  Formalizing a Hierarchical Structure of Practical Mathematical Reasoning , 1993, J. Log. Comput..