Definition double d := rev (Little.double (rev d)).

(* Specifications: *)
Lemma double_unorm d : double (unorm d) = unorm (double d).
Lemma double_nzhead d : double (nzhead d) = nzhead (double d).
Lemma of_hex_uint_double d : Pos.of_hex_uint (double d) = N.double (Pos.of_hex_uint d).
Lemma of_to (p:positive) : Pos.of_hex_int (Pos.to_hex_int p) = Some p.
Lemma to_of (d:int)(p:positive) : Pos.of_hex_int d = Some p -> Pos.to_hex_int p = norm d.
Lemma to_int_inj p p' : Pos.to_hex_int p = Pos.to_hex_int p' -> p = p'.
Lemma to_int_pos_surj d : unorm d <> zero -> exists p, Pos.to_hex_int p = norm (Pos d).
Lemma of_int_norm d : Pos.of_hex_int (norm d) = Pos.of_hex_int d.
Lemma of_inj_pos d d' : Pos.of_hex_int (Pos d) = Pos.of_hex_int (Pos d') -> unorm d = unorm d'.