proposition: Lemma Z_of_nat_Zabs_nat_pos: forall z, (0<=z)%Z -> Z_of_nat (Z.abs_nat z) = z.
proof: Proof. intros z Hz; destruct (Z_of_nat_complete_inf z Hz) as [n Hn]; transitivity (Z_of_nat n); auto; apply (f_equal Z_of_nat); rewrite <- absolu_inj_nat; apply (f_equal Z.abs_nat); trivial. Qed.
imports: Coq(FunInd) QArithSternBrocot(Field_Theory_Q)