X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Flib%2Flist_rcons.ma;h=7d67f5526371571af90a41756b2254bd005a6382;hb=d06053844638d88936d711b66fddbcca2a9add1c;hp=00faad83dc2af5462773b9ef7ba0fc592ed623c1;hpb=d54b569f6bf95945a851455c0a13b08c51ddce60;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground/lib/list_rcons.ma b/matita/matita/contribs/lambdadelta/ground/lib/list_rcons.ma index 00faad83d..7d67f5526 100644 --- a/matita/matita/contribs/lambdadelta/ground/lib/list_rcons.ma +++ b/matita/matita/contribs/lambdadelta/ground/lib/list_rcons.ma @@ -51,6 +51,12 @@ lemma eq_inv_list_empty_rcons (A): elim (eq_inv_list_empty_append … H0) -H0 #_ #H0 destruct qed-. +lemma eq_inv_list_rcons_empty (A): + ∀l,a. l⨭{A}a = ⓔ → ⊥. +#A #l #a #H0 +elim (eq_inv_list_append_empty … H0) -H0 #_ #H0 destruct +qed-. + (* Advanced inversions ******************************************************) lemma eq_inv_list_rcons_bi (A): @@ -80,3 +86,13 @@ lemma list_ind_rcons (A) (Q:predicate …): @pull_2 #l2 elim l2 -l2 // #a2 #l2 #IH0 #l1 #IH /3 width=1 by/ qed-. + +(* Advanced inversions with list_append *************************************) + +lemma eq_inv_list_append_dx_dx_refl (A) (l1) (l2): + l1 = l2⨁{A}l1 → ⓔ = l2. +#A #l1 @(list_ind_rcons … l1) -l1 [ // ] +#l1 #a1 #IH #l2