Section Fcalc_bracket.
Variable d u : R.
Hypothesis Hdu : (d < u)%R.
Inductive location := loc_Exact | loc_Inexact : comparison -> location.
Variable x : R.
Definition inbetween_loc :=
match Rcompare x d with
| Gt => loc_Inexact (Rcompare x ((d + u) / 2))
| _ => loc_Exact
end.
(** Locates a real number with respect to the middle of two other numbers. *)
Inductive inbetween : location -> Prop :=
| inbetween_Exact : x = d -> inbetween loc_Exact
| inbetween_Inexact l : (d < x < u)%R -> Rcompare x ((d + u) / 2)%R = l -> inbetween (loc_Inexact l).

Theorem inbetween_spec :
(d <= x < u)%R -> inbetween inbetween_loc.