(* QuickChick plus_0_example. *)

Conjecture plus_id_example : forall n m : nat, n = m -> n + n = m + 0.

(* Specifications: *)
Theorem plus_id_exercise : forall n m o : nat, n = m -> m = o -> n + m = m + o.
Theorem mult_0_plus : forall n m : nat, (0 + n) * m = n * m.
Theorem mult_S_1 : forall n m : nat, m = S n -> m * (1 + n) = m * m.
Theorem plus_1_neq_0_firsttry : forall n : nat, beq_nat (n + 1) 0 = false.
Theorem negb_involutive : forall b : bool, negb (negb b) = b.
Theorem andb_commutative : forall b c, andb b c = andb c b.
Theorem andb_true_elim2 : forall b c : bool, andb b c = true -> c = true.
Theorem zero_nbeq_plus_1 : forall n : nat, beq_nat 0 (n + 1) = false.
Theorem identity_fn_applied_twice : forall (f : bool -> bool), (forall (x : bool), f x = x) -> forall (b : bool), f (f b) = b.
Theorem andb_eq_orb : forall (b c : bool), (andb b c = orb b c) -> b = c.