Homework 2: Induction

Due Friday, February 2nd, at 11:59 PM

Complete the following exercises from Induction.v and Lists.v (25 points autograded, 4 points manual):

Induction.v: basic_induction, double_plus, add_comm_informal, mul_comm, eqb_refl

Lists.v: snd_fst_is_swap, fst_swap_is_snd, list_funs, bag_functions, add_inc_count, list_exercises, eqblist, count_member_nonzero, hd_error, option_elim_hd

If you are a graduate student, also complete exercises binary_commute, alternate, and remove_does_not_increase_count (9 points autograded). For binary_commute, you will also need to come up with definitions of incr and bin_to_nat, since we didn’t do them in the previous homework. (If you are not a graduate student, you can still do these exercises for practice, but you don’t have to.)