intros a b H' H'0; inversion_clear H'0.
exists (v - u).
rewrite mult_minus_distr_r; auto.
rewrite plus_minus_assoc.
rewrite plus_comm; rewrite <- H; rewrite plus_comm; auto with arith.
apply le_plus_le with (a := b) (b := a); auto.
Qed.

(* Specifications: *)
Lemma cong1_le : forall x : nat, 1 < n -> congruent x 1 -> 1 <= x.
Lemma divides_cong : forall x : nat, divides n x -> congruent 0 x.
Theorem cong_divides :
forall a b : nat, b <= a -> congruent a b -> divides n (a - b).