Due: Fri, 24 Feb 2017 23:59:00 -0500
The goals of this assignment are to practice using Coq and gain some experience with an interactive theorem prover.
Download and install Coq, and optionally an IDE.
For example, on Mac OS X, you can run:
brew install coq
brew install Caskroom/cask/coqide
This will install Coq and the basic Coq IDE. Proof General is another popular IDE choice. See the preface of Software Foundations for more details about them.
Please read the following sections of Software Foundations:
Download the source files
and complete all 1 and 2 star exercises in the corresponding .v
files, with the following
exceptions and additions:
plus_comm_informal
and beq_nat_refl_informal
, but add mult-comm
.alternate
, list_exercises
.apply_rewrite
. Add apply_exercise1
and beq_nat_sym
.evenb_double_conv
, excluded_middle_irrefutable
.optimize_0plus_b
, loop_never_stops
.When you’re done, there should be no Admitted
calls left for these exercises. You are, of course, welcome to do more of the exercises, which will give you additional practice with the prover.
Please submit a single zip file coq-AndrewID.zip
via Blackboard
(where AndrewID is obviously replaced with your actual ID).
The zip file should be arranged such that it contains:
.v
file for each chapter above, edited to complete the assigned exercises.Basics.v
Induction.v
Lists.v
Tactics.v
Logic.v
Imp.v