proposition: Lemma ratAdd_not_leRat : forall r1 r2, r1 + r2 <= r1 -> (~r2 == 0) -> False.
proof: Proof. rattac. eapply H0. unfold posnatMult, natToPosnat, posnatToNat in *. destruct p1. destruct p0. rewrite Nat.mul_add_distr_r in l. rewrite <- Nat.mul_assoc in l. rewrite (Nat.mul_comm x) in l. assert ((n1 * x0 * x0) = O)%nat. remember (n0 * (x0 * x))%nat as a. remember (n1 * x0 * x0)%nat as b. lia. apply Nat.eq_mul_0 in H1; intuition; subst. apply Nat.eq_mul_0 in H2; intuition; subst. apply rat_num_0. lia. lia. Qed.
imports: micromega.Lia List FCF.StdNat Arith Lia Setoid RelationClasses Coq.Classes.Morphisms