(** Specialization of inbetween for two consecutive integers. *)
Definition inbetween_int m x l :=
inbetween (Z2R m) (Z2R (m + 1)) x l.

(* Specifications: *)
Theorem inbetween_float_new_location :
forall x m e l k,
(0 < k)%Z ->
inbetween_float m e x l ->
inbetween_float (Zdiv m (Zpower beta k)) (e + k) x (new_location (Zpower beta k) (Zmod m (Zpower beta k)) l).
Theorem inbetween_float_new_location_single :
forall x m e l,
inbetween_float m e x l ->
inbetween_float (Zdiv m beta) (e + 1) x (new_location beta (Zmod m beta) l).
Theorem inbetween_float_ex :
forall m e l,
exists x,
inbetween_float m e x l.
Theorem inbetween_float_unique :
forall x e m l m' l',
inbetween_float m e x l ->
inbetween_float m' e x l' ->
m = m' /\ l = l'.
Theorem inbetween_float_new_location :
forall x m e l k,
(0 < k)%Z ->
inbetween_float m e x l ->
inbetween_float (Zdiv m (Zpower beta k)) (e + k) x (new_location (Zpower beta k) (Zmod m (Zpower beta k)) l).
Theorem inbetween_float_new_location_single :
forall x m e l,
inbetween_float m e x l ->
inbetween_float (Zdiv m beta) (e + 1) x (new_location beta (Zmod m beta) l).
Theorem inbetween_float_ex :
forall m e l,
exists x,
inbetween_float m e x l.
Theorem inbetween_float_unique :
forall x e m l m' l',
inbetween_float m e x l ->
inbetween_float m' e x l' ->
m = m' /\ l = l'.