Definition val_bound (n : nat) (X : num n) : inf (exp base n) :=
    exist (fun p : nat => p < exp base n) (Val n X) (upper_bound n X).

(* Specifications: *)
Lemma comp_dif : forall (n : nat) (x y : digit) (X Y : num n), val x < val y -> Val (S n) (Cons n x X) < Val (S n) (Cons n y Y).
Lemma comp_eq_most : forall (n : nat) (x y : digit) (X Y : num n), val x = val y -> Val n X < Val n Y -> Val (S n) (Cons n x X) < Val (S n) (Cons n y Y).
Lemma com_eq : forall (n : nat) (x y : digit) (X Y : num n), val x = val y -> Val n X = Val n Y -> Val (S n) (Cons n x X) = Val (S n) (Cons n y Y).