2ITB0 (2023-3) Provable programming