mirror of
https://github.com/kmc7468/cs220.git
synced 2025-12-12 21:08:45 +00:00
Assignment 5: Program correctness and logic
-
The primary goal of this assignment is to grasp basic concepts about proving a program's correctness with deductive reasoning.
-
You should fill in
TODOs in three files:max.mlw,binary_search.mlw,pascal.mlw. -
You may use Why3 in your browser.
- Clicking
Verifybutton at the top will open a panel on the right side. - For each task in the panel (e.g.
loop invariant preservation), you can right-click it and run the prover. - Fill in
TODOs until the prover can verify all tasks, notified with green check-marks.
- Clicking
-
To submit your solution, run
./scripts/submit.shand submitassignment05.zipin thetargetdirectory to gg. -
More on Why3: https://why3.lri.fr/doc/index.html
-
Why3 standard library: https://why3.lri.fr/stdlib/index.html