]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/library/decidable_kit/fintype.ma
more fix removed from types
[helm.git] / helm / software / matita / library / decidable_kit / fintype.ma
index 9223400e7a418c842df929e71340f5e1c931a6d6..82d54131bb494901801a8d3162382a76281b7fd6 100644 (file)
@@ -106,8 +106,8 @@ cut (∀x:fsort. count fsort (cmp fsort x) enum = (S O));
          fold simplify (sort nat_eqType); (* CANONICAL?! *)
          cases (in_sub_eq nat_eqType (λx:nat_eqType.ltb x bound) w);
          simplify; [2: reflexivity]
-         generalize in match H1; clear H1; cases s; clear s; intros (H1);
-         unfold segment; simplify; simplify in H1; rewrite > H1;
+         generalize in match H1; clear H1; cases s (r Pr); clear s; intros (H1);
+         unfold fsort; unfold segment; simplify; simplify in H1; rewrite > H1;
          rewrite > iota_ltb in Hw; apply (p2bF ? ? (eqP nat_eqType ? ?));
          unfold Not; intros (Enw); rewrite > Enw in Hw; 
          rewrite > ltb_refl in Hw; destruct Hw]
@@ -137,7 +137,7 @@ intros; cases a; cases b; reflexivity; qed.
 lemma uniq_tail : 
   ∀d:eqType.∀x:d.∀l:list d. uniq d (x::l) = andb (negb (mem d x l)) (uniq d l).
 intros (d x l); elim l; simplify; [reflexivity]
-apply (cmpP d x t); intros (E); simplify ; rewrite > E; [reflexivity]
+apply (cmpP d x t); intros (E); simplify ; try rewrite > E; [reflexivity]
 rewrite > andbA; rewrite > andbC in ⊢ (? ? (? % ?) ?); rewrite < andbA;
 rewrite < H; rewrite > andbC in ⊢ (? ? ? (? % ?)); rewrite < andbA; reflexivity;
 qed.
@@ -155,9 +155,9 @@ intros (d l); apply prove_reflect; elim l; [1: simplify in H1; destruct H1 | 3:
     [2: lapply (uniq_mem ? ? ? H1) as H4; simplify; apply (cmpP d x t);  
         intros (H5); simplify;
         [1: rewrite > count_O; [reflexivity]
-            intros (y Hy); rewrite > H5 in H2 H3 H4 ⊢ %; clear H5; clear x; 
+            intros (y Hy); rewrite > H5 in H2 H3 ⊢ %; clear H5; clear x; 
             rewrite > H2 in H4; destruct H4;
-         |2: simplify; rewrite > H5; simplify; apply H; 
+         |2: simplify; apply H; 
              rewrite > uniq_tail in H1; cases (b2pT ? ? (andbP ? ?) H1); 
              assumption;]
     |1: simplify; rewrite > H2; simplify; rewrite > count_O; [reflexivity]