X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Freduction%2Fdfr_ifr.ma;h=638dad75ba4536a39668a0e3cb6a3ffeea464615;hb=74a8604e5d2d3ec2dc7e67b1e257812ce340da29;hp=015958b54db1ff5e19eed95585526d4ecb90d181;hpb=cc178d85bc4fec05b6a9dd176f338b3275beb3d9;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 015958b54..638dad75b 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma @@ -12,12 +12,60 @@ (* *) (**************************************************************************) -include "delayed_updating/reduction/ifr.ma". include "delayed_updating/reduction/dfr.ma". +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". +include "delayed_updating/syntax/path_structure_depth.ma". (* DELAYED FOCUSED REDUCTION ************************************************) -lemma dfr_lift_bi (f) (p) (q) (t1) (t2): - t1 ➡𝐝𝐟[p,q] t2 → ↑[f]t1 ➡𝐟[⊗p,⊗q] ↑[f]t2. -#f #p #q #t1 #t2 -* #b #Hr #Hb +(* Main destructions with ifr ***********************************************) + +theorem dfr_des_ifr (f) (p) (q) (t1) (t2): t1 ϵ 𝐓 → + t1 ➡𝐝𝐟[p,q] t2 → ▼[f]t1 ➡𝐢𝐟[⊗p,⊗q] ▼[f]t2. +#f #p #q #t1 #t2 #H0t1 +* #k * #H1k #Ht1 #Ht2 +@(ex_intro … (↑♭q)) @and3_intro +[ -H0t1 -Ht1 -Ht2 + >structure_L_sn + >H1k in ⊢ (??%?); >path_head_structure_depth unwind2_rmap_A_dx + /2 width=1 by tls_unwind2_rmap_closed/ + ] +(* Note: crux of the proof ends *) + | // + | /2 width=2 by ex_intro/ + | // + ] +] +qed.