Lemma multNonnegativeRationals_ltcompat: ∏ x x' y y' : NonnegativeRationals, x < x' -> y < y' -> x * y < x' * y'. Proof. intros x x' y y' Hx Hy. generalize (eq0orgt0NonnegativeRationals x) ; apply sumofmaps ; intros Hx0. - rewrite Hx0, islabsorb_zero_multNonnegativeRationals. apply ispositive_multNonnegativeRationals. + rewrite <- Hx0 ; exact Hx. + apply istrans_le_lt_ltNonnegativeRationals with y. * now apply isnonnegative_NonnegativeRationals. * exact Hy. - apply istrans_lt_le_ltNonnegativeRationals with (x * y'). + apply multNonnegativeRationals_ltcompat_l. * exact Hx0. * exact Hy. + apply multNonnegativeRationals_lecompat_r. now apply lt_leNonnegativeRationals. Qed.
Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.MoreFoundations.PartA. Require Import UniMath.MoreFoundations.Sets. Require Import UniMath.MoreFoundations.Orders. Require Import UniMath.RealNumbers.Sets. Require Import UniMath.RealNumbers.Fields. Require Import UniMath.OrderTheory.Lattice.Lattice. Require Import UniMath.RealNumbers.Prelim.