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 will get PARTIAL SCOREs for each of those three files.
- E.g. If
max.mlwandbinary_search.mlwget passed, 2 out of 3 points will be given.
-
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