@@ -279,6 +279,19 @@ rewrite !addrA addrAC (addrC x) addrK addrC.
279279by rewrite subr_gt0 ltr_wpDr // ltW.
280280Qed .
281281
282+ Lemma inf_dlxz x z :
283+ dl z = [set t + (z - x) | t in dl x] ->
284+ dl x !=set0 ->
285+ x - inf (dl x) = z - inf (dl z).
286+ Proof .
287+ move=> dlxz dlx0.
288+ rewrite dlxz -image2_set1 inf_sumE.
289+ - by rewrite inf1 !opprD !addrA (addrC z) addrK (opprK x) addrC.
290+ - split => //.
291+ exists 0. move=> u. rewrite -inE. exact: dl_ge0.
292+ - exact: has_inf1.
293+ Qed .
294+
282295Definition continuous_at_sorgenfrey_to_Rtopo x (f : sorgenfrey -> R) :=
283296 forall eps : R, 0 < eps -> exists2 d : R, 0 < d & forall y : R, x <= y < x + d -> `|f x - f y| < eps.
284297
@@ -311,6 +324,7 @@ pose xepsE := [set y | x + y \in E /\ 0 < y < eps].
311324pose eps' := xget eps xepsE.
312325exists eps'.
313326 by rewrite /eps'; case: (xgetP eps xepsE) => // y -> [] _ /andP[].
327+ (* forall z : R, x <= z < x + eps' -> `|sdist x - sdist z| < eps *)
314328move=> z /andP [] xz zx.
315329have [<-|xz'] := eqVneq x z.
316330 by rewrite subrr normr0.
@@ -325,13 +339,14 @@ case/boolP: (xepsE == set0).
325339 have znE : z \notin E.
326340 apply/negP => zE.
327341 suff : xepsE (z-x) by rewrite xepsE0.
328- by rewrite /xepsE /= addrA ( addrC x) addrK subr_gt0 xz ltrBlDl.
342+ by rewrite /xepsE /= addrC subrK subr_gt0 xz ltrBlDl.
329343 have drzx : dr x = [set t + (z - x) | t in dr z].
330344 apply: dr_shift => // t /=.
345+ (* t - x in xepsE -> False *)
331346 rewrite in_itv /= => /andP[] xt tz.
332347 apply: contraPnot xepsE0.
333348 rewrite -inE => Et; apply/eqP/set0P.
334- exists (t-x); rewrite /xepsE /= addrA ( addrC x) addrK .
349+ exists (t-x); rewrite /xepsE /= addrC subrK .
335350 by rewrite subr_gt0 xt ltrBlDl (le_lt_trans tz).
336351 have Hr : `|Num.min 1 xr - Num.min 1 zr| < eps.
337352 rewrite /xr /zr.
@@ -365,27 +380,21 @@ case/boolP: (xepsE == set0).
365380 rewrite in_itv /= => /andP[] xt tz.
366381 apply: contraPnot xepsE0.
367382 rewrite -inE => Et; apply/eqP/set0P.
368- exists (t-x); rewrite /xepsE /= addrA ( addrC x) addrK .
383+ exists (t-x); rewrite /xepsE /= addrC subrK .
369384 by rewrite subr_gt0 xt ltrBlDl (le_lt_trans tz).
370385 have [dlx0|] := eqVneq (dl x) set0.
371386 rewrite dlx0 inf0 subr0.
372387 case: ifPn => xinE.
373388 suff : 0 \in dl x by rewrite inE dlx0.
374389 by rewrite inE /dl /= subr0.
375390 by rewrite dlxz dlx0 image_set0 inf0 subr0 (negbTE znE).
376- case/set0P => w Hw.
377- have inf_dlxz : x - inf (dl x) = z - inf (dl z).
378- rewrite dlxz -image2_set1 inf_sumE.
379- - by rewrite inf1 !opprD !addrA (addrC z) addrK (opprK x) addrC.
380- - split. by exists w.
381- exists 0. move=> u. rewrite -inE. exact: dl_ge0.
382- - exact: has_inf1.
383- rewrite -inf_dlxz.
391+ move/set0P => dlx0.
392+ rewrite -(inf_dlxz dlxz) //.
384393 case: ifPn => xlE //.
385394 rewrite (le_lt_trans (abs_subr_min _ _ _ _)) //.
386395 rewrite gt_max ltr_norml.
387396 rewrite -[inf(dl x)]addr0.
388- rewrite -(subrr (-z)) opprK addrA -[_ - _]addrA -inf_dlxz.
397+ rewrite -(subrr (-z)) opprK addrA -[_ - _]addrA -( inf_dlxz dlxz) // .
389398 rewrite -!addrA addrC !addrA subrK addrC.
390399 rewrite (@le_lt_trans _ _ 0 (_ - _) ) //; first last.
391400 by rewrite subr_le0 ltW.
0 commit comments