Rigorous Methods for Software Construction and Analysis (Springer Berlin Heidelberg, 2020)