]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/library/list/list.ma
generalize no more required before elim
[helm.git] / helm / software / matita / library / list / list.ma
index a180cbabc8b5d4dfcd7a6d0aea16440adde1ef97..f9f39bebf3b9dfde65c02733fbbb7955962deeaa 100644 (file)
@@ -178,21 +178,20 @@ lemma list_ind2 :
   (∀tl1,tl2,hd1,hd2. P tl1 tl2 → P (hd1::tl1) (hd2::tl2)) → 
   P l1 l2.
 intros (T1 T2 l1 l2 P Hl Pnil Pcons);
-generalize in match Hl; clear Hl; generalize in match l2; clear l2;
-elim l1 1 (l2 x1); [ cases l2; intros (Hl); [assumption| simplify in Hl; destruct Hl]]
+elim l1 in Hl l2 ⊢ % 1 (l2 x1); [ cases l2; intros (Hl); [assumption| simplify in Hl; destruct Hl]]
 intros 3 (tl1 IH l2); cases l2; [1: simplify; intros 1 (Hl); destruct Hl] 
 intros 1 (Hl); apply Pcons; apply IH; simplify in Hl; destruct Hl; assumption;
 qed.
 
 lemma eq_map : ∀A,B,f,g,l. (∀x.f x = g x) → map A B f l = map A B g l.
 intros (A B f g l Efg); elim l; simplify; [1: reflexivity ];
-rewrite > (Efg t); rewrite > H; reflexivity;  
+rewrite > (Efg a); rewrite > H; reflexivity;  
 qed.
 
 lemma le_length_filter : \forall A,l,p.length A (filter A l p) \leq length A l.
 intros;elim l
   [simplify;apply le_n
-  |simplify;apply (bool_elim ? (p t));intro
+  |simplify;apply (bool_elim ? (p a));intro
      [simplify;apply le_S_S;assumption
      |simplify;apply le_S;assumption]]
 qed.
\ No newline at end of file