Definition truncate_aux t k :=
let '(m, e, l) := t in
let p := Zpower beta k in
(Zdiv m p, (e + k)%Z, new_location p (Zmod m p) l).

(* Specifications: *)
Theorem truncate_aux_comp :
forall t k1 k2,
(0 < k1)%Z ->
(0 < k2)%Z ->
truncate_aux t (k1 + k2) = truncate_aux (truncate_aux t k1) k2.
Theorem truncate_aux_comp :
forall t k1 k2,
(0 < k1)%Z ->
(0 < k2)%Z ->
truncate_aux t (k1 + k2) = truncate_aux (truncate_aux t k1) k2.