intros; cases p (xi yi Ux Dy Hxy); clear p; simplify;
cases Ux (Ixi Sxi); clear Ux; cases Dy (Dyi Iyi); clear Dy;
cases (Hxy j) (Ia Sa); clear Hxy; cases Ia (Da SSa); cases Sa (Inca SIa); clear Ia Sa;
-intro H2; cases (SSa ? H2) (w Hw); simplify in Hw;
+intro H2; cases (SSa l H2) (w Hw); simplify in Hw;
cases (H (w+j)) (Hal Hau); apply (Hau Hw);
qed.
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;
+ apply (ge_transitive u ??? (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;
+ apply (le_transitive l ? (yi i) ? (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]
+ [1: apply (ge_transitive u ?? ? (H8 0)); cases (Hyi 0); assumption
+ |2: apply (le_transitive l ? x ? (H4 0)); cases (Hxi 0); assumption]
|2: intros 3 (h);
letin Xi ≝ (⌊n,≪xi n, Hxi n≫⌋);
letin Yi ≝ (⌊n,≪yi n, Hyi n≫⌋);
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;
+ apply (ge_transitive u ?? ? (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;
+ apply (le_transitive l ? (yi i) ? (H7 0)); simplify;
cases (H1 i); assumption;] clear H2;
letin Xi ≝ (⌊n,≪xi n, Hxi n≫⌋);
letin Yi ≝ (⌊n,≪yi n, Hyi n≫⌋);
cases (restrict_uniform_convergence_downarrow ? S ?? (H l u) Yi x Hy);
split; [1: assumption]
intros 3;
-lapply (uparrow_upperlocated ? xi x Hx)as Ux;
-lapply (downarrow_lowerlocated ? yi x Hy)as Uy;
+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 {[l,u]} ≪?, h≫ Xi Yi Ai); [4: assumption;|2:apply H3;|3:apply H5]
intro j; cases (Hxy j); cases H7; cases H8; split; [apply (H9 0);|apply (H11 0)]