proposition: Lemma Qinv_char x q: (x * q == 1) <-> (x == / q /\ ~ q == 0).
proof: Proof. Proof with auto. split. intros A. assert (~ q == 0). intro B. apply Q_apart_0_1. rewrite <- A, B. ring. intuition. apply (Qmult_injective_l q)... rewrite A. field... intros [A ?]. rewrite A. field... Qed.
imports: Coq.QArith.QArith Coq.ZArith.ZArith Coq.NArith.NArith Coq.QArith.Qpower Coq.QArith.Qround Coq.QArith.Qround Coq.QArith.Qabs CoRN.stdlib_omissions.List