Using the definition of a division function by bounded recursion given by the following text :
Require Export Arith. Fixpoint bdiv_aux (b m n:nat) {struct b} : nat * nat := match b with | O => (0, 0) | S b' => match le_gt_dec n m with | left H => match bdiv_aux b' (m - n) n with | (q, r) => (S q, r) end | right H => (0, m) end end.
Prove the following property:
bdiv_aux_correct2 : forall b m n:nat, m <= b -> 0 < n -> snd (bdiv_aux b m n) < n.