{"title":"Mechanizing Program Verification in HOL","authors":"Sten Agerholm","doi":"10.1109/HOL.1991.596288","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":213603,"journal":{"name":"1991., International Workshop on the HOL Theorem Proving System and Its Applications","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1991-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"24","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"1991., International Workshop on the HOL Theorem Proving System and Its Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HOL.1991.596288","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 24
Abstract
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.