X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Freduction%2Fdfr_ifr.ma;h=e54dd267877972e510e4b7d12516e0506efe9654;hb=ccbaf3fd118c7c6425b3572a057ccc2941b7762e;hp=be7f3b3d3d3825973ccb0af6aa5360a0cbb7b7a2;hpb=00fca351072c2dba11b71c14b1169d303fd6836f;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 be7f3b3d3..e54dd2678 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma @@ -18,9 +18,11 @@ include "delayed_updating/reduction/ifr.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_head.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_head_structure.ma". @@ -33,7 +35,7 @@ include "delayed_updating/syntax/path_depth_reverse.ma". (* Main destructions with ifr ***********************************************) theorem dfr_des_ifr (f) (p) (q) (t1) (t2): t1 ϵ 𝐓 → - t1 ➡𝐝𝐟[p,q] t2 → ▼[f]t1 ➡𝐟[⊗p,⊗q] ▼[f]t2. + t1 ➡𝐝𝐟[p,q] t2 → ▼[f]t1 ➡𝐢𝐟[⊗p,⊗q] ▼[f]t2. #f #p #q #t1 #t2 #H0t1 * #n * #H1n #Ht1 #Ht2 @(ex_intro … (↑♭q)) @and3_intro @@ -51,19 +53,18 @@ theorem dfr_des_ifr (f) (p) (q) (t1) (t2): t1 ϵ 𝐓 → @(subset_eq_trans … (unwind2_term_fsubst …)) [ @fsubst_eq_repl [ // | // ] @(subset_eq_trans … (unwind2_term_iref …)) - @(subset_eq_canc_sn … (unwind2_term_eq_repl_dx …)) + @(subset_eq_canc_sn … (lift_term_eq_repl_dx …)) [ @unwind2_term_grafted_S /2 width=2 by ex_intro/ | skip ] -Ht1 - @(subset_eq_trans … (unwind2_term_after …)) + @(subset_eq_trans … (lift_unwind2_term_after …)) @unwind2_term_eq_repl_sn (* Note: crux of the proof begins *) - @nstream_eq_inv_ext #m - list_append_rcons_sn in H1n; nrplus_inj_dx in ⊢ (???%); unwind2_rmap_A_sn