program-proofing

Definition

Weakest Liberal Precondition

The weakest liberal precondition (wlp) is the weakest formula such that the Hoare triple is partially correct.

Formal Semantics

In terms of the set of states , the wlp represents all states where the program either fails to terminate or terminates in a state satisfying :

Correctness Relation

A specification is partially correct if and only if is stronger than the weakest liberal precondition:

Base Cases

For the empty program, the wlp is simply the postcondition:

Axiomatic Semantics

The wlp can be used to define the axiomatic semantics of a programming language (like SIMPLE) for partial correctness.