(** mappings between Q and Z *)

(* Specifications: *)
Lemma length_of_Qpositive_is_length :
forall p : positive,
length_of_Qpositive (Qpositive_c (nat_of_P p) 1 (S (nat_of_P p))) =
(Zpos p - 1)%Z.
Lemma Qpositive_to_Z_is_integer_part :
forall x : positive,
Qpositive_to_Z (Qpositive_c (nat_of_P x) 1 (S (nat_of_P x))) = Zpos x.
Lemma Q_to_Z_to_Q : forall x : Z, Q_to_Z (Z_to_Q x) = x.
Lemma eq_Z_to_Q : forall x y : Z, Z_to_Q x = Z_to_Q y -> x = y.
Lemma Z_to_Qpositive_equal :
forall (m1 m2 : Z) (Hm1 : (0 < m1)%Z) (Hm2 : (0 < m2)%Z),
m1 = m2 -> Z_to_Qpositive m1 Hm1 = Z_to_Qpositive m2 Hm2.