Lecture Notes in Computer Science, 2002, Volume 2495/2002, 299-310, DOI: 10.1007/3-540-36103-0_32

Theorem Prover Support for Precondition and Correctness Calculation

Orieta Celiku and Joakim von Wright

View Related Documents

Abstract

Tools for automatically extracting the conditions for which a program is correct with respect to a precondition and postcondition can make proving program correctness easier. We build a HOL-based tool that uses weakest preconditions and semantically derived rules to prove correctness theorems with the verification conditions as assumptions. The rules include two new rules for calculating loop preconditions and recursion correctness while taking specification variables into consideration. The programming language has (recursive) procedures, and both demonic and angelic nondeterminism, which can be used to model interaction. Program variables can be of arbitrary types. Programs with procedures are handled modularly, and proved facts about individual procedures are stored in a database available to all programs.

Fulltext Preview

Image of the first page of the fulltext document