The rules. Derivation trees. Lemma while b do s is equivalent
to if b do s;while b do s else skip.(Isabelle[pdf][ps.gz])

Rule induction

Inductively defined sets and the principle of rule induction. Examples:
natural numbers and transitive reflexive closure, together with proofs
of various closure properties. Rule induction for big-step semantics of
WHILE. Theorem: WHILE is deterministic (Isabelle[pdf][ps.gz])

From Floyd to Hoare. Partial and total correctness. The rules of Hoare
logic.

Syntax of assertions: first-order arithmetic.

Semantics of assertions and Hoare triples: validity w.r.t. a state and
an interpretation of the logical variables.

Soundness of Hoare logic: proof by rule induction.

Completeness of Hoare logic: impossible for effective proof systems.
Relative
completeness: use semantics (|=) rather than proof system (|-) of the
assertion
language. Prove relative completeness via weakest liberal precondition
and expressiveness, i.e. the ability to express the wlp in the
assertion
language.

Verification conditions. Extraction of (weakest) preconditions and
verification
conditions in the presence of loop invariants. Proof of soundness and
completeness
of this approach.

Total correctness.

Extensions of WHILE

Nondeterminism

Arrays

Procedures: The problem. An adaption rule. A complete system based on a
generalized consequence rule. Completeness proof.