CS 477: Formal Software Development Methods
Machine Problems for Spring 2020
Topic: Issued: Due at 9:00pm CT on: Automatic extension
(with 20% penalty)
until 9:00pm CT on:
Solution File
MP1 Propositional Logic in Isabelle, mp1.thy Wednesday, Feb 12 Thursday, Feb 20 Saturday, Feb 22
MP2 Verifying Basic Operations on Boolean Expressions (mp2.thy) Wednesday, Feb 19 Wednesday, Feb 26 Friday, Feb 28
MP3 Hoare Logic Proofs in Isabelle/HOL
SIMP_syntax.thy
lifted_basics.thy
lifted_predicate_logic.thy
lifted_int_data.thy
Hoare_SIMP.th
mp3.thy
Friday, Mar 6 Friday, Mar 13 Sunday, Mar 15
MP4 Evaluation Semantics Friday, Apr 24 Friday, May 1 Friday, May 3
MP5
MP6

Hand Written Assignments for Spring 2020
Topic: Issued: Due at 9:00pm CT on: Automatic extension
(with 20% penalty)
until 9:00pm CT on:
Solution Files
HW1 Truth and Proof in Propositional Logic, revised
hw1.tex
macros.tex
mphandout.cls
prooftree-doc.pdf
prooftree.sty
prooftree.tex
sample_proof_tree.tex
sample_proof_tree.pdf
Wednesday, Jan 29 Friday, Feb 7 Sunday, Feb 9
HW2 Binary Decision Diagrams Wednesday, Feb 5 Friday, Feb 14 Sunday, Feb 16
HW3 Interpretation and Proof of First Order Logic Formulae Wednesday, Feb 26 Friday, Mar 6 Sunday, Mar 8
HW4
HW5
HW6

Note: The late penaly is 20% of the total number of points possible on the base part of the assignment, plus 20% of the total points possible on the extra credit, if you attempt the extra credit. It is not 20% of the number of points your earn.

Instructions for Submitting Assignments
  • Each student is given a git directory that needs to be cloned at the beginning of the semester. This can be done as follows:
    git clone https://github-dev.cs.illinois.edu/egunter/cs477-<netid>.git <working_directory>
  • After the initial cloning, <working_directory> will contain a subdirectory assignments. Once an assignment (mp or hw) has been announced, if you do a
    git pull
    you will add a directory named after the assignment (e.g. mp1) in the assignments directory. That directory will contain instructions for the assignment, plus a stub for each file you must turn in.
  • To do an assignment, you will need to follow the instructions given in the directory for that assignment. There will be two kinds of assignments, mps and hws. Mps will be exercises carried out on tools supporting a specific type of formal methods. Hws will be written assignments proving theorems and doing hand calculations. Since the mps involve using various tools, by default you will need to do them on the ews linux machines. Most of the tools should also be avialable from the web to download to you own machine should you choose to work on your own machine.
  • To submit an assignment, once you have completed the necessary files as decribed in the assignment instructions, in the assignment directory or either of the parent directory or the gradparent directory
    git commit -a -m "<your comment here>"
    git push
    You may restrict git commit to a specific collection of files and directories by adding a list to the end of the command.
  • You may do multiple commits; the version that is in the repository at 9:00pm on the due date is that one that will be collected and graded. If you submit a version after the time due, it will be considered your official submission and treated as late, even if there were submissions done earlier.