Definition Rnd_NG_pt_unicity_prop F P :=
forall x d u,
Rnd_DN_pt F x d -> Rnd_N_pt F x d ->
Rnd_UP_pt F x u -> Rnd_N_pt F x u ->
P x d -> P x u -> d = u.

(* Specifications: *)
Theorem Rnd_NG_pt_unicity :
forall (F : R -> Prop) (P : R -> R -> Prop),
Rnd_NG_pt_unicity_prop F P ->
forall x f1 f2 : R,
Rnd_NG_pt F P x f1 -> Rnd_NG_pt F P x f2 ->
f1 = f2.
Theorem Rnd_NG_pt_monotone :
forall (F : R -> Prop) (P : R -> R -> Prop),
Rnd_NG_pt_unicity_prop F P ->
round_pred_monotone (Rnd_NG_pt F P).
Theorem Rnd_NG_pt_refl :
forall (F : R -> Prop) (P : R -> R -> Prop),
forall x, F x -> Rnd_NG_pt F P x x.
Theorem Rnd_NG_pt_sym :
forall (F : R -> Prop) (P : R -> R -> Prop),
( forall x, F x -> F (-x) ) ->
( forall x f, P x f -> P (-x) (-f) ) ->
forall x f : R,
Rnd_NG_pt F P (-x) (-f) -> Rnd_NG_pt F P x f.
Theorem Rnd_NG_unicity :
forall (F : R -> Prop) (P : R -> R -> Prop),
Rnd_NG_pt_unicity_prop F P ->
forall rnd1 rnd2 : R -> R,
Rnd_NG F P rnd1 -> Rnd_NG F P rnd2 ->
forall x, rnd1 x = rnd2 x.
Theorem Rnd_NA_NG_pt :
forall F : R -> Prop,
F 0 ->
forall x f,
Rnd_NA_pt F x f <-> Rnd_NG_pt F (fun x f => Rabs x <= Rabs f) x f.
Theorem Rnd_NA_pt_unicity_prop :
forall F : R -> Prop,
F 0 ->
Rnd_NG_pt_unicity_prop F (fun a b => (Rabs a <= Rabs b)%R).
Theorem Rnd_NA_pt_unicity :
forall F : R -> Prop,
F 0 ->
forall x f1 f2 : R,
Rnd_NA_pt F x f1 -> Rnd_NA_pt F x f2 ->
f1 = f2.
Theorem Rnd_NA_N_pt :
forall F : R -> Prop,
F 0 ->
forall x f : R,
Rnd_N_pt F x f ->
(Rabs x <= Rabs f)%R ->
Rnd_NA_pt F x f.
Theorem Rnd_NA_unicity :
forall (F : R -> Prop),
F 0 ->
forall rnd1 rnd2 : R -> R,
Rnd_NA F rnd1 -> Rnd_NA F rnd2 ->
forall x, rnd1 x = rnd2 x.
Theorem Rnd_NA_pt_monotone :
forall F : R -> Prop,
F 0 ->
round_pred_monotone (Rnd_NA_pt F).
Theorem Rnd_NA_pt_refl :
forall F : R -> Prop,
forall x : R, F x ->
Rnd_NA_pt F x x.
Theorem Rnd_NA_pt_idempotent :
forall F : R -> Prop,
forall x f : R,
Rnd_NA_pt F x f -> F x ->
f = x.
Theorem round_pred_ge_0 :
forall P : R -> R -> Prop,
round_pred_monotone P ->
P 0 0 ->
forall x f, P x f -> 0 <= x -> 0 <= f.
Theorem round_pred_gt_0 :
forall P : R -> R -> Prop,
round_pred_monotone P ->
P 0 0 ->
forall x f, P x f -> 0 < f -> 0 < x.
Theorem round_pred_le_0 :
forall P : R -> R -> Prop,
round_pred_monotone P ->
P 0 0 ->
forall x f, P x f -> x <= 0 -> f <= 0.
Theorem round_pred_lt_0 :
forall P : R -> R -> Prop,
round_pred_monotone P ->
P 0 0 ->
forall x f, P x f -> f < 0 -> x < 0.
Theorem Rnd_DN_pt_equiv_format :
forall F1 F2 : R -> Prop,
forall a b : R,
F1 a ->
( forall x, a <= x <= b -> (F1 x <-> F2 x) ) ->
forall x f, a <= x <= b -> Rnd_DN_pt F1 x f -> Rnd_DN_pt F2 x f.
Theorem Rnd_UP_pt_equiv_format :
forall F1 F2 : R -> Prop,
forall a b : R,
F1 b ->
( forall x, a <= x <= b -> (F1 x <-> F2 x) ) ->
forall x f, a <= x <= b -> Rnd_UP_pt F1 x f -> Rnd_UP_pt F2 x f.
Theorem Rnd_NG_pt_unicity :
forall (F : R -> Prop) (P : R -> R -> Prop),
Rnd_NG_pt_unicity_prop F P ->
forall x f1 f2 : R,
Rnd_NG_pt F P x f1 -> Rnd_NG_pt F P x f2 ->
f1 = f2.
Theorem Rnd_NG_pt_monotone :
forall (F : R -> Prop) (P : R -> R -> Prop),
Rnd_NG_pt_unicity_prop F P ->
round_pred_monotone (Rnd_NG_pt F P).
Theorem Rnd_NG_pt_refl :
forall (F : R -> Prop) (P : R -> R -> Prop),
forall x, F x -> Rnd_NG_pt F P x x.
Theorem Rnd_NG_pt_sym :
forall (F : R -> Prop) (P : R -> R -> Prop),
( forall x, F x -> F (-x) ) ->
( forall x f, P x f -> P (-x) (-f) ) ->
forall x f : R,
Rnd_NG_pt F P (-x) (-f) -> Rnd_NG_pt F P x f.
Theorem Rnd_NG_unicity :
forall (F : R -> Prop) (P : R -> R -> Prop),
Rnd_NG_pt_unicity_prop F P ->
forall rnd1 rnd2 : R -> R,
Rnd_NG F P rnd1 -> Rnd_NG F P rnd2 ->
forall x, rnd1 x = rnd2 x.
Theorem Rnd_NA_NG_pt :
forall F : R -> Prop,
F 0 ->
forall x f,
Rnd_NA_pt F x f <-> Rnd_NG_pt F (fun x f => Rabs x <= Rabs f) x f.
Theorem Rnd_NA_pt_unicity_prop :
forall F : R -> Prop,
F 0 ->
Rnd_NG_pt_unicity_prop F (fun a b => (Rabs a <= Rabs b)%R).
Theorem Rnd_NA_pt_unicity :
forall F : R -> Prop,
F 0 ->
forall x f1 f2 : R,
Rnd_NA_pt F x f1 -> Rnd_NA_pt F x f2 ->
f1 = f2.
Theorem Rnd_NA_N_pt :
forall F : R -> Prop,
F 0 ->
forall x f : R,
Rnd_N_pt F x f ->
(Rabs x <= Rabs f)%R ->
Rnd_NA_pt F x f.
Theorem Rnd_NA_unicity :
forall (F : R -> Prop),
F 0 ->
forall rnd1 rnd2 : R -> R,
Rnd_NA F rnd1 -> Rnd_NA F rnd2 ->
forall x, rnd1 x = rnd2 x.
Theorem Rnd_NA_pt_monotone :
forall F : R -> Prop,
F 0 ->
round_pred_monotone (Rnd_NA_pt F).
Theorem Rnd_NA_pt_refl :
forall F : R -> Prop,
forall x : R, F x ->
Rnd_NA_pt F x x.
Theorem Rnd_NA_pt_idempotent :
forall F : R -> Prop,
forall x f : R,
Rnd_NA_pt F x f -> F x ->
f = x.
Theorem round_pred_ge_0 :
forall P : R -> R -> Prop,
round_pred_monotone P ->
P 0 0 ->
forall x f, P x f -> 0 <= x -> 0 <= f.
Theorem round_pred_gt_0 :
forall P : R -> R -> Prop,
round_pred_monotone P ->
P 0 0 ->
forall x f, P x f -> 0 < f -> 0 < x.
Theorem round_pred_le_0 :
forall P : R -> R -> Prop,
round_pred_monotone P ->
P 0 0 ->
forall x f, P x f -> x <= 0 -> f <= 0.
Theorem round_pred_lt_0 :
forall P : R -> R -> Prop,
round_pred_monotone P ->
P 0 0 ->
forall x f, P x f -> f < 0 -> x < 0.
Theorem Rnd_DN_pt_equiv_format :
forall F1 F2 : R -> Prop,
forall a b : R,
F1 a ->
( forall x, a <= x <= b -> (F1 x <-> F2 x) ) ->
forall x f, a <= x <= b -> Rnd_DN_pt F1 x f -> Rnd_DN_pt F2 x f.
Theorem Rnd_UP_pt_equiv_format :
forall F1 F2 : R -> Prop,
forall a b : R,
F1 b ->
( forall x, a <= x <= b -> (F1 x <-> F2 x) ) ->
forall x f, a <= x <= b -> Rnd_UP_pt F1 x f -> Rnd_UP_pt F2 x f.