aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@college-de-france.fr>2023-03-06 17:18:55 +0100
committerXavier Leroy <xavier.leroy@college-de-france.fr>2023-03-10 18:54:45 +0100
commit3ba79a0e18341806007ec091940eb1b8378ab739 (patch)
tree14ff24b4a44e33a5607f6c97b953805511b8eb27
parent2c2dabd4f7b7f330cc8e6c9cf879618a422316e8 (diff)
downloadcompcert-3ba79a0e18341806007ec091940eb1b8378ab739.tar.gz
compcert-3ba79a0e18341806007ec091940eb1b8378ab739.zip
Upgrade Flocq to 4.1.1
-rw-r--r--flocq/Core/Raux.v4
-rw-r--r--flocq/Prop/Double_rounding.v24
-rw-r--r--flocq/Version.v2
3 files changed, 15 insertions, 15 deletions
diff --git a/flocq/Core/Raux.v b/flocq/Core/Raux.v
index 4b2ce8d7..432d3214 100644
--- a/flocq/Core/Raux.v
+++ b/flocq/Core/Raux.v
@@ -214,7 +214,7 @@ destruct (Req_dec x 0) as [Zx|Nzx].
unfold sqrt.
destruct Rcase_abs.
+ reflexivity.
- + casetype False.
+ + exfalso.
now apply Nzx, Rle_antisym; [|apply Rge_le].
Qed.
@@ -2355,7 +2355,7 @@ assert (H: forall i, (i < N)%nat -> ~ P i).
apply archimed.
destruct (HP N) as [PN|PN].
now split.
-elimtype False.
+exfalso.
refine (Rle_not_lt _ _ (lub (/ (INR (S N) + 1))%R _) _).
intros x [y [[Py ->]|[_ ->]]].
destruct (eq_nat_dec y N) as [HyN|HyN].
diff --git a/flocq/Prop/Double_rounding.v b/flocq/Prop/Double_rounding.v
index 0580ab5e..53535b9e 100644
--- a/flocq/Prop/Double_rounding.v
+++ b/flocq/Prop/Double_rounding.v
@@ -987,7 +987,7 @@ assert (UB : y * bpow (- fexp (mag x)) < / IZR (beta ^ k)).
* lia.
* simpl; unfold Raux.bpow, Z.pow_pos.
now apply Rle_refl.
- * casetype False; apply (Z.lt_irrefl 0).
+ * exfalso; apply (Z.lt_irrefl 0).
apply (Z.lt_trans _ _ _ Hk).
apply Zlt_neg_0. }
rewrite (Zfloor_imp mx).
@@ -2859,7 +2859,7 @@ destruct (Rle_or_lt x 0) as [Npx|Px].
+ now apply sqrt_lt_R0.
+ lia.
+ lia.
- + intros Hmid; casetype False; apply (Rle_not_lt _ _ Hmid).
+ + intros Hmid; exfalso; apply (Rle_not_lt _ _ Hmid).
apply (round_round_sqrt_aux fexp1 fexp2 Vfexp1 Vfexp2 Hexp x Px Hf2 Fx).
Qed.
@@ -2978,7 +2978,7 @@ unfold round_round_sqrt_hyp; split; [|split]; intros ex.
+ destruct (Z.ltb_spec (ex - prec') emin');
destruct (Z.ltb_spec (ex - prec) emin);
lia.
- + casetype False.
+ + exfalso.
rewrite (Zlt_bool_true _ _ H') in H.
lia.
Qed.
@@ -3240,7 +3240,7 @@ destruct (Rle_or_lt x 0) as [Npx|Px].
unfold sqrt.
destruct Rcase_abs.
+ reflexivity.
- + casetype False; lra. }
+ + exfalso; lra. }
rewrite Hs.
rewrite round_0.
+ reflexivity.
@@ -3288,7 +3288,7 @@ destruct (Rle_or_lt x 0) as [Npx|Px].
+ now apply sqrt_lt_R0.
+ lia.
+ lia.
- + intros Hmid; casetype False; apply (Rle_not_lt _ _ Hmid).
+ + intros Hmid; exfalso; apply (Rle_not_lt _ _ Hmid).
apply (round_round_sqrt_radix_ge_4_aux Hbeta fexp1 fexp2 Vfexp1 Vfexp2
Hexp x Px Hf2 Fx).
Qed.
@@ -3412,7 +3412,7 @@ unfold round_round_sqrt_radix_ge_4_hyp; split; [|split]; intros ex.
+ destruct (Z.ltb_spec (ex - prec') emin');
destruct (Z.ltb_spec (ex - prec) emin);
lia.
- + casetype False.
+ + exfalso.
rewrite (Zlt_bool_true _ _ H') in H.
lia.
Qed.
@@ -3605,7 +3605,7 @@ destruct (Zle_or_lt (fexp2 (mag x)) (mag x)).
rewrite <- (Zmult_1_r beta) at 1.
apply Zmult_lt_compat_l; lia.
- (* mag x < fexp2 (mag x) *)
- casetype False; apply Nzx''.
+ exfalso; apply Nzx''.
now apply (round_N_small_pos beta _ _ _ (mag x)).
Qed.
@@ -4286,16 +4286,16 @@ apply round_round_all_mid_cases.
- exact Pxy.
- apply Hexp.
- intros Hf1 Hlxy.
- casetype False.
+ exfalso.
now apply (round_round_div_aux0 fexp1 fexp2 _ _ choice1 choice2 Hexp x y).
- intros Hf1 Hlxy.
- casetype False.
+ exfalso.
now apply (round_round_div_aux1 fexp1 fexp2 _ _ choice1 choice2 Hexp x y).
- intro H.
apply round_round_eq_mid_beta_even; try assumption.
apply Hexp.
- intros Hf1 Hlxy.
- casetype False.
+ exfalso.
now apply (round_round_div_aux2 fexp1 fexp2 _ _ choice1 choice2 Hexp x y).
Qed.
@@ -4331,7 +4331,7 @@ destruct (Rtotal_order x 0) as [Nx|[Zx|Px]].
apply generic_format_opp in Fy.
now apply round_round_div_aux.
+ (* y = 0 *)
- now casetype False; apply Nzy.
+ now exfalso; apply Nzy.
+ (* y > 0 *)
rewrite <- (Ropp_involutive x).
rewrite Ropp_div.
@@ -4358,7 +4358,7 @@ destruct (Rtotal_order x 0) as [Nx|[Zx|Px]].
apply generic_format_opp in Fy.
now apply round_round_div_aux.
+ (* y = 0 *)
- now casetype False; apply Nzy.
+ now exfalso; apply Nzy.
+ (* y > 0 *)
now apply round_round_div_aux.
Qed.
diff --git a/flocq/Version.v b/flocq/Version.v
index 8f1a4eae..5ff408dd 100644
--- a/flocq/Version.v
+++ b/flocq/Version.v
@@ -29,4 +29,4 @@ Definition Flocq_version := Eval vm_compute in
parse t major (minor * 10 + N_of_ascii h - N_of_ascii "0"%char)%N
| Empty_string => (major * 100 + minor)%N
end in
- parse "4.1.0"%string N0 N0.
+ parse "4.1.1"%string N0 N0.