LARA

This is an old revision of the document!


Program Semantics, Hoare Logic, Generating Proof Obligations

From Programs to Formulas

Simple Programming Language - A Turing-complete imperative language which we will use to illustrate verification.

Relational Semantics - Specifying meaning of programs using relations, their composition, union and transitive closure.

Hoare Logic - Verifying programs by writing sufficient assertions in program code, Weakest Preconditions, Strongest Postconditions.

Generating verification conditions - Applying Hoare logic ideas to convert annotated programs into formulas