X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Funwind%2Funwind2_rmap_crux.ma;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Funwind%2Funwind2_rmap_crux.ma;h=c919221daa3728c37023e5d9cc6f6a04906154b5;hb=d108bcea8ebae11b03e8d8a155dfd3f2eb445127;hp=0000000000000000000000000000000000000000;hpb=4939d8280cb3467cd8fa648b1cea04f74d71e8b7;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/unwind/unwind2_rmap_crux.ma b/matita/matita/contribs/lambdadelta/delayed_updating/unwind/unwind2_rmap_crux.ma new file mode 100644 index 000000000..c919221da --- /dev/null +++ b/matita/matita/contribs/lambdadelta/delayed_updating/unwind/unwind2_rmap_crux.ma @@ -0,0 +1,46 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "delayed_updating/unwind/unwind2_rmap_closed.ma". +include "delayed_updating/unwind/unwind2_rmap_guard.ma". + +(* TAILED UNWIND FOR RELOCATION MAP *****************************************) + +(* Crucial constructions with tr_uni ****************************************) + +(* Note: crux of the commutation between unwind and balanced focused reduction *) +lemma unwind2_rmap_uni_crux (f) (p) (b) (q) (m) (n): + p ϵ 𝐆 → b ϵ 𝐂❨Ⓕ,m❩ → q ϵ 𝐂❨Ⓕ,n❩ → + (𝐮❨↑(♭b+♭q)❩ ∘ ▶[⫯f]p ≗ ▶[⫯f](p●𝗔◗b●𝗟◗q) ∘ 𝐮❨↑(m+n)❩). +#f #p #b #q #m #n #Hp #Hm #Hn +list_append_assoc +>list_append_rcons_sn >(list_append_rcons_sn … b) +@(stream_eq_trans … (tr_compose_uni_dx_pap …)) nsucc_unfold >nplus_succ_dx >nplus_succ_dx tr_nap_plus_dx stream_tls_succ