]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/dama/dama/lebesgue.ma
....
[helm.git] / helm / software / matita / contribs / dama / dama / lebesgue.ma
index d0fcae691b5acd7fe38626411d1e70b87afd1690..2e6b0a1e4a0dff99f41016dde281a542eaac9686 100644 (file)
@@ -24,7 +24,7 @@ lemma order_converges_bigger_lowsegment:
 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.   
 
@@ -48,27 +48,27 @@ theorem lebesgue_oc:
       x ∈ [l,u] ∧ 
       ∀h:x ∈ [l,u].
        uniform_converge {[l,u]} (⌊n,≪a n,H n≫⌋) ≪x,h≫.
-intros;
+intros; 
 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; 
+  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; 
-  cases (H1 i); assumption;] clear H2;
+  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≫⌋);
-    letin Ai ≝ (⌊n,≪a n, H1 n≫⌋);
-    apply (sandwich {[l,u]} ≪?, h≫ Xi Yi Ai); try assumption;
+    letin Ai ≝ (⌊n,≪a n, H1 n≫⌋); 
+    apply (sandwich {[l,u]} ≪?, h≫ Xi Yi Ai); [4: assumption;]
     [1: intro j; cases (Hxy j); cases H3; cases H4; split;
         [apply (H5 0);|apply (H7 0)]
     |2: cases (H l u Xi ≪?,h≫) (Ux Uy); apply Ux; cases Hx; split; [apply H3;]
@@ -95,27 +95,24 @@ 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; 
+  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]
-|2: intros 3;
-    lapply (uparrow_upperlocated ? xi x Hx)as Ux;
-    lapply (downarrow_lowerlocated ? yi x Hy)as Uy;
-    letin Xi ≝ (⌊n,≪xi n, Hxi n≫⌋);
-    letin Yi ≝ (⌊n,≪yi n, Hyi n≫⌋);
-    letin Ai ≝ (⌊n,≪a n, H1 n≫⌋);
-    apply (sandwich {[l,u]} ≪?, h≫ 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);]]
+letin Xi ≝ (⌊n,≪xi n, Hxi n≫⌋);
+letin Yi ≝ (⌊n,≪yi n, Hyi n≫⌋);
+cases (restrict_uniform_convergence_uparrow ? S ?? (H l u) Xi x Hx);
+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;
+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)]
 qed. 
+
+
+