X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Freduction%2Fdfr_ifr.ma;h=2d3fdbdf596f7e405e1a29725db9c922314e6f56;hb=2c68dcfee2c3fe819c8f92a9609620a85909ce8a;hp=fc47782e774379c6f0420af22b7c9b62665898b0;hpb=d43c110267c05246b638e7f944e065820d5c1197;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 fc47782e7..2d3fdbdf5 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma @@ -14,34 +14,120 @@ include "delayed_updating/reduction/dfr.ma". include "delayed_updating/reduction/ifr.ma". -include "delayed_updating/substitution/fsubst_lift.ma". + +include "delayed_updating/unwind1/unwind_fsubst.ma". +include "delayed_updating/unwind1/unwind_constructors.ma". +include "delayed_updating/unwind1/unwind_preterm_eq.ma". +include "delayed_updating/unwind1/unwind_structure_depth.ma". +include "delayed_updating/unwind1/unwind_depth.ma". + include "delayed_updating/substitution/fsubst_eq.ma". -include "delayed_updating/substitution/lift_constructors.ma". -include "delayed_updating/substitution/lift_structure_depth.ma". +include "delayed_updating/substitution/lift_prototerm_eq.ma". include "delayed_updating/syntax/prototerm_proper_constructors.ma". include "delayed_updating/syntax/path_structure_depth.ma". +include "ground/relocation/tr_uni_compose.ma". include "ground/relocation/tr_pap_pushs.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 #n * #Hb #Hn #Ht1 #Ht2 -@(ex1_2_intro … (⊗b) (↑❘⊗q❘)) @and4_intro +(* COMMENT +axiom pippo (b) (q) (n): + ↑❘q❘ = (↑[q]𝐢)@❨n❩ → + ↑❘q❘+❘b❘= (↑[b●𝗟◗q]𝐢)@❨n+❘b❘❩. + +lemma unwind_rmap_tls_eq_id (p) (n): + ❘p❘ = ↑[p]𝐢@❨n❩ → + (𝐢) ≗ ⇂*[n]↑[p]𝐢. +#p @(list_ind_rcons … p) -p +[ #n tr_pushs_swap Hn + @(subset_eq_canc_sn … (lift_term_eq_repl_dx …)) + [ @unwind_grafted_S /2 width=2 by ex_intro/ | skip ] + tr_id_unfold #Hn + lapply (pippo … b … Hn) -Hn #Hn + @tr_compose_eq_repl + [