intros a b c H; generalize c; clear c; elim H.
rewrite <- minus_n_n; auto with arith.
intros a' Hle Hrec c H1.
inversion H1.
intros H2; rewrite (le_minus_O _ _ H2).
auto with arith.
auto with *.
Qed.

(* Specifications: *)
Theorem le_minus_right :
forall a b c : nat, a <= b -> a <= c -> b <= c -> b - a <= c - a.