PROGRAM VERIFICATION;
SEMANTICS OF PROGRAMMING LANGUAGES;
DEDUCTION AND THEOREM PROVING;
D O I:
10.1007/BF01383984
中图分类号:
TP301 [理论、方法];
学科分类号:
081202 ;
摘要:
We describe how the HOL theorem prover can be used to check and apply rules of program refinement. The rules are formulated in the refinement calculus, which is a theory of correctness preserving program transformations. We embed a general command notation with a predicate transformer semantics in the logic of the HOL system. Using this embedding, we express and prove rules for data refinement and superposition refinement of initialized loops. Applications of these proof rules to actual program refinements are checked using the HOL system, with the HOL system generating these conditions. We also indicate how the HOL system is used to prove the verification conditions. Thus, the HOL system can provide a complete mechanized environment for proving program refinements.