(** ensures a real number can always be rounded *)
Inductive satisfies_any (F : R -> Prop) :=
Satisfies_any :
F 0 -> ( forall x : R, F x -> F (-x) ) ->
round_pred_total (Rnd_DN_pt F) -> satisfies_any F.

(* Specifications: *)
Theorem satisfies_any_eq :
forall F1 F2 : R -> Prop,
( forall x, F1 x <-> F2 x ) ->
satisfies_any F1 ->
satisfies_any F2.
Theorem satisfies_any_imp_DN :
forall F : R -> Prop,
satisfies_any F ->
round_pred (Rnd_DN_pt F).
Theorem satisfies_any_imp_UP :
forall F : R -> Prop,
satisfies_any F ->
round_pred (Rnd_UP_pt F).
Theorem satisfies_any_imp_ZR :
forall F : R -> Prop,
satisfies_any F ->
round_pred (Rnd_ZR_pt F).
Theorem satisfies_any_eq :
forall F1 F2 : R -> Prop,
( forall x, F1 x <-> F2 x ) ->
satisfies_any F1 ->
satisfies_any F2.
Theorem satisfies_any_imp_DN :
forall F : R -> Prop,
satisfies_any F ->
round_pred (Rnd_DN_pt F).
Theorem satisfies_any_imp_UP :
forall F : R -> Prop,
satisfies_any F ->
round_pred (Rnd_UP_pt F).
Theorem satisfies_any_imp_ZR :
forall F : R -> Prop,
satisfies_any F ->
round_pred (Rnd_ZR_pt F).