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=f6fbae1811b75ae42b924e78c0fda631b42c2200;hpb=3ca651e49d422d9f9a2b793841ae526baf02065c;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 f6fbae181..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,45 +19,45 @@ 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 → k ≤ n → - ▶[f](p●q)@❨k❩ = ▶[f]↳[n](p●q)@❨k❩. -#f #p elim p -p -[ #q #n #k #Hq - <(eq_inv_path_empty_head … Hq) -n #Hk - <(nle_inv_zero_dx … Hk) -k // -| #l #p #IH #q #n @(nat_ind_succ … n) -n - [ #k #_ #Hk <(nle_inv_zero_dx … Hk) -k -IH // - | #n #_ #k cases l [ #m ] - [ IH -IH IH -IH tr_xap_ninj >(path_head_refl_append q … Hn) in ⊢ (??%?); ->(unwind2_rmap_head_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