X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Flist%2Flist.ma;h=f9f39bebf3b9dfde65c02733fbbb7955962deeaa;hb=b58b7f9f3fdf8d66522b31828faa5bfa588c31b8;hp=a180cbabc8b5d4dfcd7a6d0aea16440adde1ef97;hpb=bfb7fbf61e86114e49cb3671503e8307a4582342;p=helm.git diff --git a/helm/software/matita/library/list/list.ma b/helm/software/matita/library/list/list.ma index a180cbabc..f9f39bebf 100644 --- a/helm/software/matita/library/list/list.ma +++ b/helm/software/matita/library/list/list.ma @@ -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