Mechanizing Program Verification in HOL
Sten Agerholm · 2005
Proofs of program correctness are usually large and complex. This advocates mechanical assistance for managing the complexity and details of proofs. This paper presents a program verifier for imperative programs based on the HOL system. We describe a formalization of the weakest precondition semantics of a small programming language, a verification condition generator for total correctness specafications, and a number of simplification tools for proving subparts of verification conditions, automatically. Examples are considered an order to evaluate the usability of the program verifier.