Lemma multNonnegativeRationals_eqcompat_l: ∏ k x y : NonnegativeRationals, 0 < k -> k * x = k * y -> x = y. 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.
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.