(** The other direction *)

Definition to_lu n :=
  match n with
  | N0 => Hexadecimal.zero
  | Npos p => Pos.to_little_hex_uint p
  end.

(* Specifications: *)
Lemma succ_double_alt d : Little.succ_double d = Little.succ (Little.double d).
Lemma double_succ d : Little.double (Little.succ d) = Little.succ (Little.succ_double d).
Lemma to_lu_succ n : to_lu (N.succ n) = Little.succ (to_lu n).
Lemma nat_iter_S n {A} (f:A->A) i : Nat.iter (S n) f i = f (Nat.iter n f i).
Lemma nat_iter_0 {A} (f:A->A) i : Nat.iter 0 f i = i.
Lemma to_lhex_tenfold p : to_lu (0x10 * Npos p) = D0 (to_lu (Npos p)).
Lemma of_lu_0 d : of_lu d = 0 <-> nztail d = Nil.
Lemma to_of_lu_tenfold d : to_lu (of_lu d) = lnorm d -> to_lu (0x10 * of_lu d) = lnorm (D0 d).
Lemma Nadd_alt n m : n + m = Nat.iter (N.to_nat n) N.succ m.