X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Funwind%2Funwind2_rmap_head.ma;h=416c6e7924650b412ad854cb119265877fe14151;hb=41a54a797af98d2867d4bf979d424283fb44a1fc;hp=cd21acf66ae962333918f0a426ad930587ed1872;hpb=12d58352dbd62df65d44becc0f69fc5a7b370866;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/unwind/unwind2_rmap_head.ma b/matita/matita/contribs/lambdadelta/delayed_updating/unwind/unwind2_rmap_head.ma index cd21acf66..416c6e792 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/unwind/unwind2_rmap_head.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/unwind/unwind2_rmap_head.ma @@ -19,53 +19,53 @@ include "ground/relocation/xap.ma". include "ground/lib/stream_eq_eq.ma". include "ground/arith/nat_le_plus.ma". -(* UNWIND MAP FOR PATH ******************************************************) +(* TAILED UNWIND FOR RELOCATION MAP *****************************************) (* Constructions with path_head *********************************************) -lemma unwind2_rmap_head_xap_le_closed (f) (p) (q) (n) (k): - p = (↳[n]p)●q → k ≤ n → - (▶[f]p)@❨k❩ = (▶[f]↳[n]p)@❨k❩. -#f #p elim p -p -[ #q #n #k #Hq #Hk - elim (eq_inv_list_empty_append … Hq) -Hq * #_ // -| #l #p #IH #q #n @(nat_ind_succ … n) -n - [ #k #_ #Hk <(nle_inv_zero_dx … Hk) -k -IH - IH -IH IH -IH tr_xap_ninj >Hn in ⊢ (??%?); ->(unwind2_rmap_head_append_xap_closed … Hn) -Hn +lemma unwind2_rmap_append_pap_closed (f) (p) (q) (h:pnat): + q = ↳[h]q → + ♭q = ninj (▶[f](p●q)@⧣❨h❩). +#f #p #q #h #Hh +>tr_xap_ninj >(path_head_refl_append_sn p … Hh) in ⊢ (??%?); +>(unwind2_rmap_head_xap_closed … Hh) -Hh nrplus_inj_dx >nrplus_inj_sn >nrplus_inj_sn