Program verification and testing


In this lecture

Equational reasoning

Example: insertion sort

Proving correctness of isort

Auxiliary lemmas

Proving isort with auxiliary lemma

Proving more properties

Auxiliary lemma for reverse

Proving reverse with auxiliary lemma

Equational reasoning summary

Property-based testing

For the rest of the lecture, we play with QuickCheck code (see repository)