intros q; case q.
intros H; Contradict H; auto with zarith.
intros p H; unfold digit in |- *;
generalize (digitAuxLess (Zabs (Zpos p)) 1 (xO p));
case (digitAux (Zabs (Zpos p)) 1 (xO p)); simpl in |- *;
auto with zarith.
intros p H; unfold digit in |- *;
generalize (digitAuxLess (Zabs (Zneg p)) 1 (xO p));
case (digitAux (Zabs (Zneg p)) 1 (xO p)); simpl in |- *;
auto with zarith.
Qed.
Hint Resolve digitLess: zarith.
Hint Resolve Zmult_gt_0_lt_compat_r Zmult_gt_0_lt_compat_l: zarith.
Fixpoint pos_length (p : positive) : nat :=
match p with
| xH => 0
| xO p' => S (pos_length p')
| xI p' => S (pos_length p')
end.

(* Specifications: *)
Theorem digitAuxMore :
forall (v r : Z) (q : positive),
(0 < r)%Z ->
(v < Zpower_nat n (pos_length q) * r)%Z ->
(v < Zpower_nat n (digitAux v r q) * r)%Z.