-generalize in match (order_converges_bigger_lowsegment ???? H1 ? H2);
-generalize in match (order_converges_smaller_upsegment ???? H1 ? H2);
-cases H2 (xi yi Hx Hy Hxy); clear H2; simplify in ⊢ (% → % → ?); intros;
-cut (∀i.xi i ∈ [l,u]) as Hxi; [2:
- intros; split; [2:apply H3] cases (Hxy i) (H5 _); cases H5 (H7 _);
- apply (le_transitive ???? (H7 0)); simplify;
- cases (H1 i); assumption;] clear H3;
-cut (∀i.yi i ∈ [l,u]) as Hyi; [2:
- intros; split; [apply H2] cases (Hxy i) (_ H5); cases H5 (H7 _);
- apply (le_transitive ????? (H7 0)); simplify;
- cases (H1 i); assumption;] clear H2;
-split;
-[1: cases Hx; cases H3; cases Hy; cases H7; split;
- [1: apply (le_transitive ???? (H8 0)); cases (Hyi 0); assumption
- |2: apply (le_transitive ????? (H4 0)); cases (Hxi 0); assumption]
-|2: intros 3;
- lapply (uparrow_upperlocated ? xi x Hx)as Ux;
- lapply (downarrow_lowerlocated ? yi x Hy)as Uy;
- letin X ≝ (sig_in ?? x h);
- letin Xi ≝ (λn.sig_in ?? (xi n) (Hxi n));
- letin Yi ≝ (λn.sig_in ?? (yi n) (Hyi n));
- letin Ai ≝ (λn:nat.sig_in ?? (a n) (H1 n));
- apply (sandwich {[l,u]} X Xi Yi Ai); try assumption;
- [1: intro j; cases (Hxy j); cases H3; cases H4; split;
- [apply (H5 0);|apply (H7 0)]
- |2: cases (restrict_uniform_convergence_uparrow ? S ?? (H l u) Xi x Hx);
- apply (H4 h);
- |3: cases (restrict_uniform_convergence_downarrow ? S ?? (H l u) Yi x Hy);
- apply (H4 h);]]
+generalize in match (order_converges_bigger_lowsegment ? a s H1 ? H2);
+generalize in match (order_converges_smaller_upsegment ? a s H1 ? H2);
+cases H2 (xi yi Hx Hy Hxy); clear H2; simplify in ⊢ ((?→???%) → (?→???%) → ?); intros;
+cut (∀i.xi i ∈ s) as Hxi; [2:
+ intros; apply (prove_in_segment (os_l C)); [apply (H3 i)] cases (Hxy i) (H5 _); cases H5 (H7 _);
+ lapply (H7 0) as K; cases (cases_in_segment ? s ? (H1 i)) (Pl Pu);
+ simplify in K:(? ? % ?); apply (hle_transitive (os_l C) (xi i) (a i) 𝕦_s K Pu);] clear H3;
+cut (∀i.yi i ∈ s) as Hyi; [2:
+ intros; apply (prove_in_segment (os_l C)); [2:apply (H2 i)] cases (Hxy i) (_ H5); cases H5 (H7 _);
+ lapply (H7 0) as K; cases (cases_in_segment ? s ? (H1 i)) (Pl Pu); simplify in K;
+ apply (le_transitive 𝕝_s ? ? ? K);apply Pl;] clear H2;
+letin Xi ≝ (⌊n,≪xi n, Hxi n≫⌋);
+letin Yi ≝ (⌊n,≪yi n, Hyi n≫⌋);
+cases (restrict_uniform_convergence_uparrow ? S ? (H s) Xi x Hx);
+cases (restrict_uniform_convergence_downarrow ? S ? (H s) Yi x Hy);
+split; [1: assumption]
+intros 3;
+lapply (uparrow_upperlocated xi x Hx)as Ux;
+lapply (downarrow_lowerlocated yi x Hy)as Uy;
+letin Ai ≝ (⌊n,≪a n, H1 n≫⌋);
+apply (sandwich {[s]} ≪x, h≫ Xi Yi Ai); [4: assumption;|2:apply H3;|3:apply H5]
+intro j; cases (Hxy j); cases H7; cases H8; split;
+[apply (l2sl ? s (Xi j) (Ai j) (H9 0));|apply (l2sl ? s (Ai j) (Yi j) (H11 0))]