(* mulr and ler/ltr *)

(* Specifications: *)
Lemma ler_pmul2l x : 0 < x -> {mono *%R x : x y / x <= y}.
Lemma ltr_pmul2l x : 0 < x -> {mono *%R x : x y / x < y}.
Lemma ltr_nmul2l x : x < 0 -> {mono *%R x : x y /~ x < y}.
Lemma ler_wpmul2r x : 0 <= x -> {homo *%R^~ x : y z / y <= z}.
Lemma ler_wnmul2r x : x <= 0 -> {homo *%R^~ x : y z /~ y <= z}.
(* Binary forms, for backchaining. *)
Lemma ler_pmul x1 y1 x2 y2 :
0 <= x1 -> 0 <= x2 -> x1 <= y1 -> x2 <= y2 -> x1 * x2 <= y1 * y2.
Lemma ltr_pmul x1 y1 x2 y2 :
0 <= x1 -> 0 <= x2 -> x1 < y1 -> x2 < y2 -> x1 * x2 < y1 * y2.