(** 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.(** 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).