Program development through proof transformation

We present a methodology for deriving veri ed programs that combines theorem proving and proof transformation steps. It extends the paradigm employed in systems like NuPrl where a program is developed and veri ed through the proof of the speci cation in a constructive type theory. We illustrate our methodology through an extended example | a derivation of Warshall's algorithm for graph reachability. We also outline how our framework supports the de nition, implementation, and use of abstract data types.

[1]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[2]  William L. Scherlis,et al.  Deriving and using destructive data types , 1987 .

[3]  Gopalan Nadathur,et al.  Hereditary Harrop Formulas and Uniform Proof Systems , 1987, Logic in Computer Science.

[4]  Bengt Nordström,et al.  Programming in Constructive Set Theory: Some examples , 1981, FPCA '81.

[5]  Zohar Manna,et al.  A Deductive Approach to Program Synthesis , 1979, TOPL.

[6]  C. Goad Computational uses of the manipulation of formal proofs , 1980 .

[7]  Douglas James Howe Automating reasoning in an implementation of constructive type theory , 1988 .

[8]  Christine Mohring,et al.  Algorithm Development in the Calculus of Constructions , 1986, Logic in Computer Science.

[9]  Per Martin-Löf,et al.  Constructive mathematics and computer programming , 1984 .

[10]  Thierry Coquand,et al.  Constructions: A Higher Order Proof System for Mechanizing Mathematics , 1985, European Conference on Computer Algebra.

[11]  Paul Hudak,et al.  The aggregate update problem in functional programming systems , 1985, POPL.

[12]  Zohar Manna,et al.  Deductive Synthesis of the Unification Algorithm , 1981, Sci. Comput. Program..

[13]  Manfred Broy,et al.  Program Development as a Formal Activity , 1981, IEEE Transactions on Software Engineering.

[14]  Robert L. Constable,et al.  Proofs as programs , 1985, TOPL.

[15]  F. Honsell,et al.  A Framework for De ning LogicsRobert Harper , 1987 .