intuition.
unfold ratInverse.
destruct r.
destruct n.
exfalso.
eapply H.
eapply rat_num_0.
rewrite <- ratMult_num_den.
eapply num_dem_same_rat1.
unfold posnatMult, natToPosnat, posnatToNat.
destruct p.
apply mult_comm.
Qed.
Fixpoint expRat r n :=
match n with
| O => rat1
| S n' => r * (expRat r n')
end.

Lemma ratInverse_nz : forall (r : Rat),
ratInverse r == 0 ->
False.