2ITB0 (2022-3) Provable programming