Proof Theory of Partial Correctness Verification Systems

The verification rules proposed by Hoare are an example of a system which can serve as the basis for a mathematical theory of partial correctness of programs. The purpose of this paper is to extend the previously developed basic theory by (i) defining alternative verification systems and comparing them with the Hoare rules, (ii) deriving several types of useful rules from the basic systems, (iii) showing an ordering on verification systems, (iv) discussing how semi-interpreted program schemas play the role of theorems in a more fully developed theory, (v) formulating a notion of correctness-preserving program transformations and giving a procedure for their use.These extensions provide a more flexible and efficient methodology for proving partial correctness of programs and point to the potential of a mathematical theory which effectively organizes knowledge about programs.