Une MAJ de sécurité est nécessaire sur notre version actuelle. Elle sera effectuée lundi 02/08 entre 12h30 et 13h. L'interruption de service devrait durer quelques minutes (probablement moins de 5 minutes).

Commit 6723f606 by Guillaume Melquiond

### Prove pred_lt and succ_lt.

parent daa79c73
 ... @@ -2004,26 +2004,16 @@ apply error_le_half_ulp. ... @@ -2004,26 +2004,16 @@ apply error_le_half_ulp. rewrite round_DN_opp; apply Ropp_0_gt_lt_contravar; apply Rlt_gt; assumption. rewrite round_DN_opp; apply Ropp_0_gt_lt_contravar; apply Rlt_gt; assumption. Qed. Qed. Theorem pred_le : Theorem pred_le: forall x y, forall x y, F x -> F y -> (x <= y)%R -> F x -> F y -> (x <= y)%R -> (pred x <= pred y)%R. (pred x <= pred y)%R. Proof. Proof. intros x y Fx Fy Hxy. intros x y Fx Fy [Hxy| ->]. assert (V:( ((x = 0) /\ (y = 0)) \/ (x <>0 \/ x < y))%R). 2: apply Rle_refl. case (Req_dec x 0); intros Zx. apply le_pred_lt with (2 := Fy). case Hxy; intros Zy. now apply generic_format_pred. now right; right. apply Rle_lt_trans with (2 := Hxy). left; split; trivial; now rewrite <- Zy. apply pred_le_id. now right; left. destruct V as [(V1,V2)|V]. rewrite V1,V2; now right. apply le_pred_lt; try assumption. apply generic_format_pred; try assumption. case V; intros V1. apply Rlt_le_trans with (2:=Hxy). now apply pred_lt_id. apply Rle_lt_trans with (2:=V1). now apply pred_le_id. Qed. Qed. Theorem succ_le: forall x y, Theorem succ_le: forall x y, ... @@ -2051,6 +2041,28 @@ rewrite <- (pred_succ x), <- (pred_succ y); try assumption. ... @@ -2051,6 +2041,28 @@ rewrite <- (pred_succ x), <- (pred_succ y); try assumption. apply pred_le; trivial; now apply generic_format_succ. apply pred_le; trivial; now apply generic_format_succ. Qed. Qed. Theorem pred_lt : forall x y, F x -> F y -> (x < y)%R -> (pred x < pred y)%R. Proof. intros x y Fx Fy Hxy. apply Rnot_le_lt. intros H. apply Rgt_not_le with (1 := Hxy). now apply pred_le_inv. Qed. Theorem succ_lt : forall x y, F x -> F y -> (x < y)%R -> (succ x < succ y)%R. Proof. intros x y Fx Fy Hxy. apply Rnot_le_lt. intros H. apply Rgt_not_le with (1 := Hxy). now apply succ_le_inv. Qed. (* was lt_UP_le_DN *) (* was lt_UP_le_DN *) Theorem le_round_DN_lt_UP : Theorem le_round_DN_lt_UP : forall x y, F y -> forall x y, F y -> ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!