My solution for project 1 for the "Program Verification" course at ETH Zurich (ETHZ) (https://www.pm.inf.ethz.ch/education/courses/program-verification.html)