Program Semantics, Hoare Logic
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.
In lecture04 we will use these notions to express correctness of annotated programs using formulas.