intuition.
rewrite ratInverse_ratMult; intuition.
rewrite <- ratMult_ratDistance_factor_r.
rewrite (ratMult_comm (ratInverse r1)) at 2.
repeat rewrite <- ratMult_assoc.
rewrite (ratMult_comm r1).
rewrite ratInverse_prod_1; intuition.
rewrite ratMult_1_l.
rewrite (ratMult_comm r2).
rewrite ratInverse_prod_1; intuition.
rewrite ratMult_1_l.
intuition.
eapply ratDistance_comm.
Qed.

(* Specifications: *)
Lemma ratSubtract_half : forall x,
ratSubtract x (x * (1/2)) == x * (1/2).