intuition.
eapply ratDistance_leRat_both.
eapply leRat_trans.
eapply ratSubtract_leRat.
eapply ratSubtract_leRat.
eapply ratDistance_le_sum.
eauto.
eapply ratDistance_ge_difference.
rewrite ratDistance_comm.
eauto.
eapply leRat_refl.
eapply leRat_trans.
eapply ratSubtract_leRat.
rewrite ratAdd_comm.
eapply ratSubtract_ratAdd_assoc_le.
eapply leRat_refl.
rewrite ratSubtract_ratAdd_assoc_le.
eapply ratAdd_leRat_compat.
intuition.
eapply leRat_trans.
eapply ratSubtract_leRat.
eapply ratSubtract_assoc_le.
eapply leRat_refl.
rewrite ratAdd_comm.
rewrite ratSubtract_ratAdd_assoc_le.
rewrite ratSubtract_0.
rewrite <- ratAdd_0_r.
intuition.
intuition.
eapply leRat_trans.
eapply ratSubtract_leRat.
eapply ratSubtract_leRat.
eapply ratDistance_le_sum.
rewrite ratDistance_comm.
eauto.
eapply ratDistance_ge_difference.
eauto.
eapply leRat_refl.
eapply leRat_trans.
eapply ratSubtract_leRat.
rewrite ratAdd_comm.
eapply ratSubtract_ratAdd_assoc_le.
eapply leRat_refl.
rewrite ratSubtract_ratAdd_assoc_le.
eapply ratAdd_leRat_compat.
intuition.
eapply leRat_trans.
eapply ratSubtract_leRat.
eapply ratSubtract_assoc_le.
eapply leRat_refl.
rewrite ratAdd_comm.
rewrite ratSubtract_ratAdd_assoc_le.
rewrite ratSubtract_0.
rewrite <- ratAdd_0_r.
intuition.
intuition.
Qed.

(* Specifications: *)
Lemma ratMult_ratSubtract_distrib_r : forall f r1 r2,
(ratSubtract r1 r2) * f  == ratSubtract (r1 * f) (r2 * f).