In case you want to use ACL2 for your homework, please follow these
instructions.
Please create a single lisp file with the definitions of functions
suggested and the theorems specified, in a sequence that is
processible by ACL2. We saw Matt Kaufmann produce such a file in
class interactively.
See the
http://www.cs.utexas.edu/users/moore/publications/tutorial/kaufmann-TPHOLs08/
for how such a file looks for Kaufmann's demos.
Please do not send multiple files for different homework questions.
You should send one file containing answers to _all_ the problems in
order. For the problems requiring you to define a function, there
should be an appropriate defun, and for the problems requiring you
to prove a theorem there must be a defthm. Please put a lisp
comment (a sequence of text lines each starting with ";") discussing
which definition is a solution to which problem.
Also, ACL2 must be able to successfully process the events in the
file sequentially. Thus, all auxiliary definitions must be present.
This means, for example, that you must write out a definition which
is already provided in the notes, if you are proving a theorem about
the function being defined. And if any auxiliary lemmas or
definitions are necessary then you need to state them as sppropriate
defthm and defun commands.
Please send the lisp file by email to both me and Warren.
For this homework, ACL2 will probably be able to prove all the
theorems automatically. But doing so will get you started on how to
interact with the system, which should be helpful in getting on with
your projects.
-- Sandip