Mathematics of Program Construction - Graham Hutton (Springer, 2019)