X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Freduction%2Fdfr_ifr.ma;h=1cb62ed3b68759ce39c3d3ab2461f28ed62cab2c;hb=119da3f9ce130f7c4e8b23fcc491d221472ad657;hp=73d4cbf46d3bab56b771232eda52d6864e9482c8;hpb=13584a37bbcde10e03c8a488f5b93e1e042da0a6;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma index 73d4cbf46..1cb62ed3b 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma @@ -14,26 +14,55 @@ include "delayed_updating/reduction/dfr.ma". include "delayed_updating/reduction/ifr.ma". -include "delayed_updating/substitution/fsubst_lift.ma". + +include "delayed_updating/unwind/unwind2_constructors.ma". +include "delayed_updating/unwind/unwind2_preterm_fsubst.ma". +include "delayed_updating/unwind/unwind2_preterm_eq.ma". +include "delayed_updating/unwind/unwind2_prototerm_lift.ma". +include "delayed_updating/unwind/unwind2_rmap_closed.ma". + +include "delayed_updating/substitution/fsubst_eq.ma". +include "delayed_updating/substitution/lift_prototerm_eq.ma". + include "delayed_updating/syntax/prototerm_proper_constructors.ma". +include "delayed_updating/syntax/path_closed_structure.ma". +include "delayed_updating/syntax/path_structure_depth.ma". (* DELAYED FOCUSED REDUCTION ************************************************) -lemma dfr_lift_bi (f) (p) (q) (t1) (t2): t1 ϵ 𝐓 → - t1 ➡𝐝𝐟[p,q] t2 → ↑[f]t1 ➡𝐟[⊗p,⊗q] ↑[f]t2. -#f #p #q #t1 #t2 #H0t1 -* #b * #Hb #Ht1 #Ht2 -@(ex_intro … (⊗b)) @and3_intro -[ // -| lapply (in_comp_lift_bi f … Ht1) -Ht1 #Ht1 -| lapply (eq_lift_bi f … Ht2) -Ht2 #Ht2 +(* Main destructions with ifr ***********************************************) + +theorem dfr_des_ifr (f) (t1) (t2) (r): t1 ϵ 𝐓 → + t1 ➡𝐝𝐟[r] t2 → ▼[f]t1 ➡𝐢𝐟[⊗r] ▼[f]t2. +#f #t1 #t2 #r #H0t1 +* #p #q #n #Hr #Hn #Ht1 #Ht2 destruct +@(ex4_3_intro … (⊗p) (⊗q) (♭q)) +[ -H0t1 -Hn -Ht1 -Ht2 // +| -H0t1 -Ht1 -Ht2 + /2 width=2 by path_closed_structure_depth/ +| lapply (in_comp_unwind2_path_term f … Ht1) -Ht2 -Ht1 -H0t1 +