]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/dama/infsup.ma
yes! the lattice_(#) -> prelattice(<) -> lattice(< -> #) works!
[helm.git] / helm / software / matita / dama / infsup.ma
index 05b497cc51c7ac924ae3a5c0f7b61f1b46901608..7ba29dd1bab9162554a44bad8758326b6b694a57 100644 (file)
@@ -25,8 +25,8 @@ definition infimum ≝
     
 (* 3.20 *)
 lemma supremum_uniq:
-  ∀R.∀ml:mlattice R.∀xn:sequence ml.increasing ? xn → (* BUG again the wrong coercion is chosen *)
-   ∀x,y:apart_of_metric_space ? ml.supremum ?? xn x → supremum ?? xn y → x ≈ y.
+  ∀R.∀ml:mlattice R.∀xn:sequence ml.increasing ? xn → 
+   ∀x,y:ml.supremum ?? xn x → supremum ?? xn y → δ x y ≈ 0.
 intros (R ml xn Hxn x y Sx Sy);
 elim (Sx Hxn) (_ Hx); elim (Sy Hxn) (_ Hy);
 apply (tends_uniq ?? xn ?? Hx Hy);
@@ -42,6 +42,18 @@ definition ank ≝
       [ O ⇒ (shift ?? xn k) O
       | S n1 ⇒ (shift ?? xn k) (S n1) ∧ ank_aux n1]
     in ank_aux.
+     
+notation < "'a'\sup k" non associative with precedence 50 for
+ @{ 'ank $x $k }.
+interpretation "ank" 'ank x k =
+ (cic:/matita/infsup/ank.con _ _ x k).      
+
+notation < "'a'(k \atop n)" non associative with precedence 50 for
+ @{ 'ank2 $x $k $n }.
+interpretation "ank2" 'ank2 x k n =
+ (cic:/matita/infsup/ank.con _ _ x k n).      
     
 definition bnk ≝
   λR.λml:mlattice R.λxn:sequence ml.λk:nat.
@@ -52,14 +64,14 @@ definition bnk ≝
     in bnk_aux.
     
 lemma ank_decreasing: 
-  ∀R.∀ml:mlattice R.∀xn:sequence ml.∀m.decreasing ? (ank ?? xn m).
-intros (R ml xn m); unfold; intro n; simplify; apply lem;
+  ∀R.∀ml:mlattice R.∀xn:sequence ml.∀k.decreasing ? (ank ?? xn k).
+intros (R ml xn k); unfold; intro n; simplify; apply lem;
 qed.
 
 (* 3.26 *)
 lemma ankS:
   ∀R.∀ml:mlattice R.∀xn:sequence ml.∀k,n:nat.
-    ((ank ?? xn k) (S n)) ≈ (xn k ∧ ank ?? xn (S k) n).
+   ((ank ?? xn k) (S n)) ≈ (xn k ∧ ank ?? xn (S k) n).
 intros (R ml xn k n); elim n; simplify; [apply meet_comm]  
 simplify in H; apply (Eq≈ ? (feq_ml ???? (H))); clear H;
 apply (Eq≈ ? (meet_assoc ????));    
@@ -68,6 +80,37 @@ apply feq_mr; rewrite > sym_plus in ⊢ (? ? ? (? ? ? (? (? %))));
 simplify; rewrite > sym_plus in ⊢ (? ? ? (? ? ? (? (? %))));
 apply meet_comm;
 qed.    
+
+(* 3.27 *)
+lemma foo:
+  ∀R.∀ml:mlattice R.∀xn:sequence ml.
+   ∀alpha:sequence ml. (∀k.strong_inf ml (ank ?? xn k) (alpha k)) → 
+     increasing ml alpha.
+intros (R ml xn alpha H); unfold strong_inf in H; unfold lower_bound in H; unfold; 
+intro n;
+letin H2 ≝ (λk.ankS ?? xn k n); clearbody H2;
+cut (∀k.((xn k) ∧ (ank ?? xn (S k) n)) ≤ (ank ?? xn (S k) n)) as H3; [2:intro k; apply lem;]
+cut (∀k.(ank ?? xn k (S n)) ≤ (ank ?? xn (S k) n)) as H4; [2:
+  intro k; apply (le_transitive ml ???? (H3 ?));
+  apply (Le≪ ? (H2 k));
+
+elim (H (S n)) (H4 H5); intro H6; elim (H5 ? H6) (m Hm);
+lapply (H4 m) as H7;
+
+ clear H5 H6;
+
+
+
+lapply (H n) as H1; clear H; elim H1 (LB H); clear H1;
+lapply (LB (S n)) as H1; clear LB;
+lapply (ankS ?? xn n n) as H2;
+
+lapply (Le≪ (xn n∧ank R ml xn (S n) n) H2);
+
+cases H (LB H1); clear H; 
+
+   
+    
    
    
    
\ No newline at end of file