(**************************************************************************
  *************************************************************************
                                                                         *)
 
Definition plus_eq := f_equal2 plus.Definition mult_eq := f_equal2 mult.Definition minus_eq := f_equal2 minus.

(* Specifications: *)
Lemma lt_minus_O_lt : forall n m : nat, m < n -> 0 < n - m.
Lemma eq_minus : forall a b c : nat, c < a -> a - c = b - c -> a = b.
Lemma eq_minus' : forall a b c : nat, c <= a -> c <= b -> a - c = b - c -> a = b.
Lemma eq_plus : forall a b c : nat, c + a = c + b -> a = b.
Lemma plus_eqO : forall x y : nat, x + y = 0 -> x = 0.
Lemma mult_eqO : forall a b : nat, a * b = 0 -> a = 0 \/ b = 0.
Lemma mult_SO : forall x y : nat, x * y = 1 -> x = 1.
Lemma mult_eq_Sn : forall a b : nat, 0 < b -> a * b = b -> a = 1.