proposition: Theorem mul_0_r : forall n:nat, n * 0 = 0.
proof: Proof. Admitted. Theorem plus_n_Sm : forall n m : nat, S (n + m) = n + (S m). Proof. Admitted. Theorem add_comm : forall n m : nat, n + m = m + n. Proof. Admitted. Theorem add_assoc : forall n m p : nat, n + (m + p) = (n + m) + p. Proof. Admitted. Fixpoint double (n:nat) := match n with | O => O | S n' => S (S (double n')) end. Lemma double_plus : forall n, double n = n + n . Proof. Admitted. Theorem eqb_refl : forall n : nat, (n =? n) = true. Proof. Admitted. Theorem even_S : forall n : nat, even (S n) = negb (even n). Proof. Admitted. Theorem mult_0_plus' : forall n m : nat, (n + 0 + 0) * m = n * m. Proof. intros n m. assert (H: n + 0 + 0 = n). { rewrite add_comm. simpl. rewrite add_comm. reflexivity. } rewrite -> H. reflexivity. Qed.