proposition: Lemma multNonnegativeRationals_eqcompat_l: ∏ k x y : NonnegativeRationals, 0 < k -> k * x = k * y -> x = y.
proof: Proof. intros k x y Hk0 H. rewrite <- (islunit_oneNonnegativeRationals x). change 1 with (1%dr : NonnegativeRationals). assert (Hk : k != 0). { apply gtNonnegativeRationals_noteq, Hk0. } rewrite <- (CommDivRig_islinv k Hk). rewrite isassoc_multNonnegativeRationals. rewrite H. rewrite <- isassoc_multNonnegativeRationals. change ((/ (k,, Hk))%dr * k) with (/ (k,, Hk) * k)%dr. rewrite (CommDivRig_islinv k Hk). now apply islunit_oneNonnegativeRationals. Qed.
imports: UniMath.MoreFoundations.Tactics UniMath.MoreFoundations.PartA UniMath.MoreFoundations.Sets UniMath.MoreFoundations.Orders UniMath.RealNumbers.Sets UniMath.RealNumbers.Fields UniMath.Algebra.DivisionRig UniMath.OrderTheory.Lattice.Lattice UniMath.RealNumbers.Prelim