intuition.
destruct r1.
destruct r2.
destruct r3.
unfold ratMult in *.
unfold eqRat in *.
unfold beqRat in *.
unfold ratCD in *.
case_eq (0); intuition.
rewrite H1 in H.
destruct (eq_nat_dec (n * p2) (n2 * p)).
intuition.
destruct (eq_nat_dec (n0 * n * (posnatMult p1 p)) (n1 * n * (posnatMult p0 p))); intuition.
inversion H1; clear H1; subst.
unfold posnatMult, natToPosnat, posnatToNat in *.
destruct p1.
destruct p.
destruct p0.
destruct (eq_nat_dec (n0 * x) (n1 * x1)); trivial.
exfalso.
eapply n2.
eapply (@mult_same_l (n * x0)).
eapply mult_gt_0.
rewrite mult_1_r in n3.
rewrite mult_0_l in n3.
omega.
trivial.
rewrite (mult_comm).
rewrite mult_assoc.
rewrite <- (mult_assoc n0).
rewrite (mult_comm x).
arithNormalize.
rewrite e.
do 3 arithSimplify.
Qed.

(* Specifications: *)
Lemma expRat_le_1 : forall n x,
x <= 1 ->
expRat x n <= 1.