@@ -200,6 +200,27 @@ case=> -[] v Ev <- /[!andbT] ->; split => //.
200
200
by rewrite mathcomp_extra.subrKC.
201
201
Qed .
202
202
203
+ Local Lemma lt_dr_set0 x y : x < y -> dr x = set0 -> dr y = set0.
204
+ Proof .
205
+ move=> xy.
206
+ rewrite !drE !(rwP eqP); apply: contraLR.
207
+ case/set0P=> u /= [] [] v Ev <-.
208
+ rewrite in_itv /= andbT subr_gt0 => yv.
209
+ apply/set0P; exists (v - x) => /=.
210
+ rewrite in_itv /= subr_gt0 (lt_trans xy yv); split => //.
211
+ by exists v.
212
+ Qed .
213
+
214
+ Local Lemma lt_dl_set0 x y : x < y -> dl y = set0 -> dl x = set0.
215
+ move=> xy.
216
+ rewrite !dlE !(rwP eqP); apply: contraLR.
217
+ case/set0P=> u /= [] [] v Ev <-.
218
+ rewrite in_itv /= andbT addrC subr_ge0 => vx.
219
+ apply/set0P; exists (y - v) => /=.
220
+ rewrite in_itv /= subr_ge0 (le_trans vx (ltW xy)); split => //.
221
+ by exists v => //; rewrite addrC.
222
+ Qed .
223
+
203
224
Lemma abs_subr_min (x y t u : R) :
204
225
`|Num.min x y - Num.min t u| <= Num.max `|x - t| `|y - u|.
205
226
Proof .
@@ -381,6 +402,9 @@ have znE : z \notin E.
381
402
by rewrite /= in_itv /= xz lexx.
382
403
rewrite (le_lt_trans (abs_subr_min _ _ _ _)) // gt_max.
383
404
apply/andP; split; last first.
405
+ - rewrite /xr /zr. (dr_shift xz).
406
+
407
+
384
408
- have drzx : dr x = [set t + (z - x) | t in dr z] by apply: dr_shift.
385
409
rewrite /xr /zr drzx.
386
410
have[-> | drz0] := eqVneq (dr z) set0.
0 commit comments