A program verification system has been developed consisting of three major components.The verification condition generator (which is patterned after the work of Igarashi, London, and Luckham [lO],is used to generate verification conditions from asserted PASCAL programs.The sub6oal generator (which is similar to the program described in [2])processes the verification conditions to produce simpler subgoals, a significant number of which it proves using restricted techniques.The sub~oal solver is a resolution theorem prover which was developed at NIH by L. Norton
[13]. The more powerful techniques of the subgoal solver are used to prove subgoals which the subgoal generator was unable to prove,
The verification system has been used to verify a number of programs.
These include all but one of the examples from King [ii], a Bubble Sort program, and Hoare's FIND program.