]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/dama/dama/lebesgue.ma
Using Prop conjuction on Props lowers the universes.
[helm.git] / helm / software / matita / contribs / dama / dama / lebesgue.ma
index bab1e26faef33c6bc09544c31b7895ae2fd1b8cf..6daebfa0cde944051d1b03fe7d2ddd35cd415d3e 100644 (file)
@@ -20,24 +20,25 @@ lemma order_converges_bigger_lowsegment:
   ∀C:ordered_set.
    ∀a:sequence C.∀l,u:C.∀H:∀i:nat.a i ∈ [l,u]. 
      ∀x:C.∀p:a order_converges x. 
-       ∀j.l ≤ (fst p) j.
-intros; cases p; clear p; simplify; cases H1; clear H1; cases H2; clear H2;
-cases (H3 j); clear H3; cases H2; cases H7; clear H2 H7;
-intro H2; cases (H8 ? H2);
-cases (H (w1+j)); apply (H12 H7);
+       ∀j.l ≤ (pi1exT23 ???? p) j.
+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;
+cases (H (w+j)) (Hal Hau); apply (Hau Hw);
 qed.   
 
 lemma order_converges_smaller_upsegment:
   ∀C:ordered_set.
    ∀a:sequence C.∀l,u:C.∀H:∀i:nat.a i ∈ [l,u]. 
      ∀x:C.∀p:a order_converges x. 
-       ∀j.(snd p) j ≤ u.
+       ∀j.(pi2exT23 ???? p) j ≤ u.
 intros; cases p; clear p; simplify; cases H1; clear H1; cases H2; clear H2;
 cases (H3 j); clear H3; cases H2; cases H7; clear H2 H7;
 intro H2; cases (H10 ? H2);
 cases (H (w1+j)); apply (H11 H7);
 qed.   
-     
+          
 (* Theorem 3.10 *)
 theorem lebesgue_oc:
   ∀C:ordered_uniform_space.
@@ -45,12 +46,8 @@ theorem lebesgue_oc:
     ∀a:sequence C.∀l,u:C.∀H:∀i:nat.a i ∈ [l,u]. 
      ∀x:C.a order_converges x → 
       x ∈ [l,u] ∧ 
-      ∀h:x ∈ [l,u]. (* manca il pullback? *)
-       uniform_converge 
-        (uniform_space_OF_ordered_uniform_space 
-         (segment_ordered_uniform_space C l u))
-        (λn.sig_in C (λx.x∈[l,u]) (a n) (H n))    
-        (sig_in ?? x h).
+      ∀h:x ∈ [l,u].
+       uniform_converge {[l,u]} (⌊n,≪a n,H n≫⌋) ≪x,h≫.
 intros;
 generalize in match (order_converges_bigger_lowsegment ???? H1 ? H2);
 generalize in match (order_converges_smaller_upsegment ???? H1 ? H2);
@@ -68,18 +65,17 @@ split;
     [1: apply (le_transitive ???? (H8 0)); cases (Hyi 0); assumption
     |2: apply (le_transitive ????? (H4 0)); cases (Hxi 0); assumption]
 |2: intros 3 (h);
-    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;
+    letin Xi ≝ (⌊n,mk_sigT ?? (xi n) (Hxi n)⌋);
+    letin Yi ≝ (⌊n,mk_sigT ?? (yi n) (Hyi n)⌋);
+    letin Ai ≝ (⌊n,mk_sigT ?? (a n) (H1 n)⌋);
+    apply (sandwich {[l,u]} (mk_sigT ?? x 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 (H l u Xi X) (Ux Uy); apply Ux; cases Hx; split; [apply H3;]
-        cases H4; split; [apply H5] intros (y Hy);cases (H6 (fst y) Hy);
+    |2: cases (H l u Xi ≪?,h≫) (Ux Uy); apply Ux; cases Hx; split; [apply H3;]
+        cases H4; split; [apply H5] intros (y Hy);cases (H6 (\fst y));[2:apply Hy];
         exists [apply w] apply H7; 
-    |3: cases (H l u Yi X) (Ux Uy); apply Uy; cases Hy; split; [apply H3;]
-        cases H4; split; [apply H5] intros (y Hy);cases (H6 (fst y) Hy);
+    |3: cases (H l u Yi ≪?,h≫) (Ux Uy); apply Uy; cases Hy; split; [apply H3;]
+        cases H4; split; [apply H5] intros (y Hy);cases (H6 (\fst y));[2:apply Hy];
         exists [apply w] apply H7;]]
 qed.
  
@@ -91,12 +87,8 @@ theorem lebesgue_se:
     ∀a:sequence C.∀l,u:C.∀H:∀i:nat.a i ∈ [l,u]. 
      ∀x:C.a order_converges x → 
       x ∈ [l,u] ∧ 
-      ∀h:x ∈ [l,u]. (* manca il pullback? *)
-       uniform_converge 
-        (uniform_space_OF_ordered_uniform_space 
-         (segment_ordered_uniform_space C l u))
-        (λn.sig_in C (λx.x∈[l,u]) (a n) (H n))    
-        (sig_in ?? x h). 
+      ∀h:x ∈ [l,u].
+       uniform_converge {[l,u]} (⌊n,≪a n,H n≫⌋) ≪x,h≫.
 intros (C S);
 generalize in match (order_converges_bigger_lowsegment ???? H1 ? H2);
 generalize in match (order_converges_smaller_upsegment ???? H1 ? H2);
@@ -116,11 +108,10 @@ split;
 |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;
+    letin Xi ≝ (⌊n,mk_sigT ?? (xi n) (Hxi n)⌋);
+    letin Yi ≝ (⌊n,mk_sigT ?? (yi n) (Hyi n)⌋);
+    letin Ai ≝ (⌊n,mk_sigT ?? (a n) (H1 n)⌋);
+    apply (sandwich {[l,u]} (mk_sigT ?? x 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);