CS410/510 Theorem Proving and Program Verification Fall 2018
Course Information
Keeping In Touch
- This web page is the primary source for information on the course, the on-line textbook, assignments, etc.
- Important announcements will be sent by email to all registered students.
- There is a slack channel for informal
communication about the course. Use it freely. The instructor will monitor it regularly
and jump in when that seems useful.
- There is a D2L site for the course, but this
will be used only for homework submission and grading feedback.
Coq Resources
Exams
- Final Exam
- The take-home final exam is due on Wed. Dec. 5 at 4:30pm. You should spend no more than 4 hours on the exam.
- You will need to download the following files; the first is the final itself and the others are clean copies
(with solutions) of previous chapters in VFA.
- Final exam solutions
- Sample midterm (Note: a few of these questions contain material from the end of the Logic chapter or the IndProp chapter;
ignore these, as they are out of scope for our midterm.)
- Sample midterm solution
- Midterm solution
Lecture/Textbook Notes
Homework Assignments
- Assignment 1
- Due 4:30pm, Tuesday, Oct 2.
- Do all non-optional exercises in Basics.v.
- Submit your modified .v file via D2L.
- Solutions: Basics_sol.v
- Assignment 2
- Due 4:30pm, Tuesday, Oct 9.
- Do all non-optional exercises in Induction.v and
Lists.v. Students enrolled in CS410 do not need to do exercises marked as "advanced."
- Test your modified .v files by downloading InductionTest.v and ListsTest.v and then doing the following commands at command level:
- coqc -Q . LF Induction.v
- coqc -Q . LF InductionTest.v
and similarly for Lists/ListsTest.
- Submit your modified .v files via D2L. (Please do not submit the *Test.v files.)
- Solutions: Induction_sol.v Lists_sol.v
- Assignment 3
- Due 4:30pm, Tuesday, Oct. 16.
- Do all non-optional exercises in Poly.v and
Tactics.v. Students enrolled in CS410 do not need to do exercises marked as "advanced."
- Test your modified .v files by downloading PolyTest.v and TacticsTest.v and using them as in the previous assignment.
- Submit your modified .v files via D2L. (Please do not submit the *Test.v files.)
- Solutions: Poly_sol.v Tactics_sol.v
- Assignment 4
- Due 4:30pm, Tuesday, Oct. 23.
- Do all non-optional exercises in Logic.v.
Students enrolled in CS410 do not need to do exercises marked as "advanced."
- Late-breaking change: The following exercises are not due next week; they may be included as part
of a future assignment instead:
tr_rev_correct,evenb_double_conv,logical_connectives,eqb_neq,eqb_list,All_forallb,excluded_middle_irrefutable,not_exists_dist.
- Test your modified .v files by downloading LogicTest.v and
using it as in the previous assignments.
- Submit your modified .v files via D2L. (Please do not submit the *Test.v files.)
- Solutions: Logic_sol_partial.v
- Assignment 5
- Due 4:30pm, Tuesday, Nov. 6.
- Do the following left-over exercises (only) from Logic.v: tr_rev_correct (advanced only),evenb_double_conv,logical_connectives,All_forallb.
(It does not matter whether or not your submitted file includes solutions to the earlier assigned problems.)
- Do all non-optional exercises in IndProp.v. (Warning: the set of non-optional exercises has been changed since this file was
originally posted; check the latest version!)
Students enrolled in CS410 do not need to do exercises marked as "advanced."
- Test your modified .v files by downloading the latest version of LogicTest.v
and IndPropTest.v and using them as in the previous assignments.
- Submit your modified .v files via D2L. (Please do not submit the *Test.v files.)
- Solutions: Logic_sol.v IndProp_sol.v
- Assignment 6
- Due 4:30pm, Tuesday, Nov. 13.
- Do all non-optional exercises in Auto.v, Perm.v and Sort.v.
Students enrolled in CS410 do not need to do exercises marked as "advanced."
- Test your modified .v files by downloading AutoTest.v,PermTest.v,SortTest.v and using them as in the previous assignments. For Perm and Sort, you'll need to compile with
- coqc -Q . VFA Perm.v
- coqc -Q . VFA PermTest.v
- coqc -Q . VFA Sort.v
- coqc -Q . VFA SortTest.v
- Submit your modified .v files via D2L. (Please do not submit the *Test.v files.)
- Solutions: Perm_sol.v Sort_sol.v
- Assignment 7
- Due 4:30pm, Tuesday, Nov. 20.
- Do all non-optional exercises in BagPerm.v and Merge.v.
Students enrolled in CS410 do not need to do exercises marked as "advanced."
- Test your modified .v files by downloading BagPermTest.v and MergeTest.v, and using them as in previous assignments.
- Submit your modified .v files via D2L. (Please do not submit the *Test.v files.)
- Solutions: BagPerm_sol.v Merge_sol.v
- Assignment 8
- Due 4:30pm, Thursday, Nov. 29.
- Do all non-optional exercises in SearchTree.v and ADT.v.
Students enrolled in CS410 do not need to do exercises marked as "advanced."
- Test your modified .v files by downloading SearchTreeTest.v and ADTTest.v, and using them as in previous assignments.
- Submit your modified .v files via D2L. (Please do not submit the *Test.v files.)
- Solutions: SearchTree_sol.v ADT_sol.v