]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/dama/dama/supremum.ma
...
[helm.git] / helm / software / matita / contribs / dama / dama / supremum.ma
index e3a83a09a4f5d2d72646ee2a360b65ef82c03f90..0de61b292fcaca3e40f5b7bddfa7ba0b88d27398 100644 (file)
@@ -202,10 +202,10 @@ record segment (O : Type) : Type â‰ {
    seg_u_ : O
 }.
 
-notation > "𝕦_term 90 s" non associative with precedence 45 for @{'upp $s}.
-notation "𝕦 \sub term 90 s" non associative with precedence 45 for @{'upp $s}. 
-notation > "𝕝_term 90 s" non associative with precedence 45 for @{'low $s}.
-notation "𝕝 \sub term 90 s" non associative with precedence 45 for @{'low $s}. 
+notation > "𝕦_term 90 s" non associative with precedence 90 for @{'upp $s}.
+notation "𝕦 \sub term 90 s" non associative with precedence 90 for @{'upp $s}. 
+notation > "𝕝_term 90 s" non associative with precedence 90 for @{'low $s}.
+notation "𝕝 \sub term 90 s" non associative with precedence 90 for @{'low $s}. 
  
 definition seg_u â‰
  ÎťO:half_ordered_set.Îťs:segment O.
@@ -322,7 +322,7 @@ coercion hint_sequence3 nocomposites.
 
 (* Lemma 2.9 - non easily dualizable *)
 
-lemma x2sx:
+lemma x2sx_:
   âˆ€O:half_ordered_set.
    âˆ€s:segment O.∀x,y:half_segment_ordered_set ? s.
     \fst x â‰°â‰° \fst y â†’ x â‰°â‰° y.
@@ -331,7 +331,7 @@ whd in âŠ˘ (?→? (% ? ?)? ? ? ? ?); simplify in âŠ˘ (?→%);
 cases (wloss_prop O) (E E); do 2 rewrite < E; intros; assumption;
 qed.
 
-lemma sx2x:
+lemma sx2x_:
   âˆ€O:half_ordered_set.
    âˆ€s:segment O.∀x,y:half_segment_ordered_set ? s.
     x â‰°â‰° y â†’ \fst x â‰°â‰° \fst y.
@@ -340,6 +340,22 @@ whd in âŠ˘ (? (% ? ?) ?? ? ? ? â†’ ?); simplify in âŠ˘ (% â†’ ?);
 cases (wloss_prop O) (E E); do 2 rewrite < E; intros; assumption;
 qed.
 
+lemma l2sl_:
+  âˆ€C,s.∀x,y:half_segment_ordered_set C s. \fst x â‰¤â‰¤ \fst y â†’ x â‰¤â‰¤ y.
+intros; intro; apply H; apply sx2x_; apply H1;
+qed.
+
+
+lemma sl2l_:
+  âˆ€C,s.∀x,y:half_segment_ordered_set C s. x â‰¤â‰¤ y â†’ \fst x â‰¤â‰¤ \fst y.
+intros; intro; apply H; apply x2sx_; apply H1;
+qed.
+
+coercion x2sx_ nocomposites.
+coercion sx2x_ nocomposites.
+coercion l2sl_ nocomposites.
+coercion sl2l_ nocomposites.
+
 lemma h_segment_preserves_supremum:
   âˆ€O:half_ordered_set.∀s:segment O.
    âˆ€a:sequence (half_segment_ordered_set ? s).
@@ -348,13 +364,13 @@ lemma h_segment_preserves_supremum:
       supremum ? âŒŠn,\fst (a n)⌋ (\fst x) â†’ uparrow ? a x.
 intros; split; cases H; clear H; 
 [1: intro n; lapply (H1 n) as K; clear H1 H2;
-    intro; apply K; clear K; apply (sx2x ???? H);
+    intro; apply K; clear K; apply rule H; 
 |2: cases H2; split; clear H2;
     [1: intro n; lapply (H n) as K; intro W; apply K;
-        apply (sx2x ???? W);
+        apply rule W;
     |2: clear H1 H; intros (y0 Hy0); cases (H3 (\fst y0));[exists[apply w]]
-        [1: change in H with (\fst (a w) â‰°â‰° \fst y0); apply (x2sx ???? H);
-        |2: apply (sx2x ???? Hy0);]]]
+        [1: change in H with (\fst (a w) â‰°â‰° \fst y0); apply rule H;
+        |2: apply rule Hy0;]]]
 qed.
 
 notation "'segment_preserves_supremum'" non associative with precedence 90 for @{'segment_preserves_supremum}.