Results 1 -
2 of
2
Hoare Logic and VDM: Machine-Checked Soundness and Completeness Proofs
, 1998
"... Investigating soundness and completeness of verification calculi for imperative programming languages is a challenging task. Many incorrect results have been published in the past. We take advantage of the computer-aided proof tool LEGO to interactively establish soundness and completeness of both H ..."
Abstract
-
Cited by 29 (1 self)
- Add to MetaCart
Investigating soundness and completeness of verification calculi for imperative programming languages is a challenging task. Many incorrect results have been published in the past. We take advantage of the computer-aided proof tool LEGO to interactively establish soundness and completeness of both Hoare Logic and the operation decomposition rules of the Vienna Development Method (VDM) with respect to operational semantics. We deal with parameterless recursive procedures and local variables in the context of total correctness. As a case study, we use LEGO to verify the correctness of Quicksort in Hoare Logic. As our main contribution, we illuminate the rle of auxiliary variables in Hoare Logic. They are required to relate the value of program variables in the final state with the value of program variables in the initial state. In our formalisation, we reflect their purpose by interpreting assertions as relations on states and a domain of auxiliary variables. Furthermore, we propose a new structural rule for adjusting auxiliary variables when strengthening preconditions and weakening postconditions. This rule is stronger than all previously suggested structural rules, including rules of adaptation. With the new treatment, we are able to show that, contrary to common belief, Hoare Logic subsumes VDM in that every derivation in VDM can be naturally embedded in Hoare Logic. Moreover, we establish completeness results uniformly as corollaries of Most General Formula theorems which remove the need to reason about arbitrary assertions.
A logical framework for software proof reuse
- Proceedings of the ACM SIGSOFT Symposium on Software Reusability
, 1995
"... We describe a logical framework PR for verification of reusable software components. Within our system, developers can employ the advantages traditionally as-sociated with software reuse to reduce the cost of soft-ware verification by reusing abstract proofs and specifications. One can construct an ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
We describe a logical framework PR for verification of reusable software components. Within our system, developers can employ the advantages traditionally as-sociated with software reuse to reduce the cost of soft-ware verification by reusing abstract proofs and specifications. One can construct an algorithm with pa-rameters, a specification with parameters, and a proof that the algorithm satisfies the specification provided the parameters satisfy certain conditions, Proofs in PR will themselves contain parameters for subproofs concerning those conditions. In this framework, typ-ing, type checking, and proof checking are decidable. 1

