(* For consistency with Rplus_opp_r and Rplus_opp_l. *)
Definition Rmult_inv_r := Rinv_r.Definition Rmult_inv_l := Rinv_l.

(* Specifications: *)
Lemma Rmult_1_r : forall r, r * 1 = r.
Lemma Rmult_ne : forall r, r * 1 = r /\ 1 * r = r.
Lemma Rmult_eq_reg_l : forall r r1 r2, r * r1 = r * r2 -> r <> 0 -> r1 = r2.
Lemma Rmult_eq_reg_r : forall r r1 r2, r1 * r = r2 * r -> r <> 0 -> r1 = r2.
Lemma Rmult_plus_distr_r : forall r1 r2 r3, (r1 + r2) * r3 = r1 * r3 + r2 * r3.
Lemma Rmult_0_r : forall r, r * 0 = 0.
Lemma Rmult_0_l : forall r, 0 * r = 0.
Lemma Rmult_integral : forall r1 r2, r1 * r2 = 0 -> r1 = 0 \/ r2 = 0.
Lemma Rmult_eq_0_compat : forall r1 r2, r1 = 0 \/ r2 = 0 -> r1 * r2 = 0.
Lemma Rmult_eq_0_compat_r : forall r1 r2, r1 = 0 -> r1 * r2 = 0.
Lemma Rmult_eq_0_compat_l : forall r1 r2, r2 = 0 -> r1 * r2 = 0.
Lemma Rmult_neq_0_reg : forall r1 r2, r1 * r2 <> 0 -> r1 <> 0 /\ r2 <> 0.
Lemma Rmult_integral_contrapositive : forall r1 r2, r1 <> 0 /\ r2 <> 0 -> r1 * r2 <> 0.
Lemma Rmult_integral_contrapositive_currified : forall r1 r2, r1 <> 0 -> r2 <> 0 -> r1 * r2 <> 0.
Lemma Ropp_mult_distr_l : forall r1 r2, - (r1 * r2) = - r1 * r2.
Lemma Ropp_mult_distr_r : forall r1 r2, - (r1 * r2) = r1 * - r2.
Lemma Ropp_mult_distr_l_reverse : forall r1 r2, - r1 * r2 = - (r1 * r2).
Lemma Rmult_opp_opp : forall r1 r2, - r1 * - r2 = r1 * r2.
Lemma Ropp_mult_distr_r_reverse : forall r1 r2, r1 * - r2 = - (r1 * r2).
Lemma Rminus_def : forall r1 r2, r1 - r2 = r1 + - r2.
Lemma Rminus_eq_compat_l : forall r r1 r2, r1 = r2 -> r - r1 = r - r2.
Lemma Rminus_eq_compat_r : forall r r1 r2, r1 = r2 -> r1 - r = r2 - r.
Lemma Rminus_eq_reg_l : forall r r1 r2, r - r1 = r - r2 -> r1 = r2.
Lemma Rminus_eq_reg_r : forall r r1 r2, r1 - r = r2 - r -> r1 = r2.
Lemma Rminus_0_r : forall r, r - 0 = r.
Lemma Rminus_0_l : forall r, 0 - r = - r.
Lemma Ropp_minus_distr : forall r1 r2, - (r1 - r2) = r2 - r1.
Lemma Rminus_diag_eq : forall r1 r2, r1 = r2 -> r1 - r2 = 0.
Lemma Rminus_diag : forall r, r - r = 0.
Lemma Rminus_diag_uniq : forall r1 r2, r1 - r2 = 0 -> r1 = r2.
Lemma Rminus_diag_uniq_sym : forall r1 r2, r2 - r1 = 0 -> r1 = r2.
Lemma Rplus_minus : forall r1 r2, r1 + (r2 - r1) = r2.
Lemma Rminus_eq_contra : forall r1 r2, r1 <> r2 -> r1 - r2 <> 0.
Lemma Rminus_not_eq : forall r1 r2, r1 - r2 <> 0 -> r1 <> r2.
Lemma Rminus_not_eq_right : forall r1 r2, r2 - r1 <> 0 -> r1 <> r2.
Lemma Rmult_minus_distr_l : forall r1 r2 r3, r1 * (r2 - r3) = r1 * r2 - r1 * r3.
Lemma Rmult_minus_distr_r : forall r1 r2 r3, (r2 - r3) * r1 = r2 * r1 - r3 * r1.
Lemma Rplus_minus_r : forall r1 r2, r1 + r2 - r2 = r1.
Lemma Rplus_minus_l : forall r1 r2, r1 + r2 - r1 = r2.
Lemma Rplus_minus_assoc : forall r1 r2 r3, r1 + (r2 - r3) = (r1 + r2) - r3.
Lemma Rplus_minus_swap : forall r1 r2 r3, (r1 + r2) - r3 = (r1 - r3) + r2.
Lemma Rminus_plus_distr : forall r1 r2 r3, r1 - (r2 + r3) = (r1 - r2) - r3.
Lemma Rminus_plus_r_r : forall r r1 r2, (r1 + r) - (r2 + r) = r1 - r2.
Lemma Rminus_plus_l_r : forall r r1 r2, (r + r1) - (r2 + r) = r1 - r2.
Lemma Rminus_plus_r_l : forall r r1 r2, (r1 + r) - (r + r2) = r1 - r2.
Lemma Rminus_plus_l_l : forall r r1 r2, (r + r1) - (r + r2) = r1 - r2.
Lemma Rinv_0 : / 0 = 0.
Lemma Rmult_inv_r_uniq : forall r1 r2, r1 <> 0 -> r1 * r2 = 1 -> r2 = / r1.
Lemma Rinv_eq_compat : forall r1 r2, r1 = r2 -> / r1 = / r2.
Lemma Rinv_1 : / 1 = 1.
Lemma Rinv_neq_0_compat : forall r, r <> 0 -> / r <> 0.
Lemma Rinv_inv r : / / r = r.
Lemma Rinv_eq_reg : forall r1 r2, / r1 = / r2 -> r1 = r2.
Lemma Rinv_mult r1 r2 : / (r1 * r2) = / r1 * / r2.
Lemma Rinv_opp r : / - r = - / r.
Lemma Rmult_inv_m_id_r : forall r1 r2, r1 <> 0 -> r1 * / r1 * r2 = r2.
Lemma Rmult_inv_r_id_l : forall r1 r2, r1 <> 0 -> r2 * r1 * / r1 = r2.
Lemma Rmult_inv_r_id_m : forall r1 r2, r1 <> 0 -> r1 * r2 * / r1 = r2.