rattac.
unfold ratSubtract in *.
rattac.
unfold posnatMult in *.
inversion H4; clear H4; subst.
inversion H3; clear H3; subst.
arithNormalize.
assert (n * x3 * x3 * x1 <= n0 * x3 * x3 * x2)%nat.
rewrite <- mult_comm.
rewrite <- (mult_comm x2).
repeat rewrite mult_assoc.
eapply mult_le_compat; trivial.
eapply mult_le_compat; trivial.
rewrite mult_comm.
rewrite l.
rewrite mult_comm.
trivial.
assert (n3 * x1 * x3 * x2 = n3 * x2 * x3 * x1)%nat.
do 3 arithSimplify.
omega.
Qed.

(* Specifications: *)
Lemma ratSubtract_leRat_l:
forall r1 r2 r3 : Rat, r1 <= r2 -> ratSubtract r1 r3 <= ratSubtract r2 r3.