From b0c6bbd5db69489a5ebd1b36de6685fa6de441b3 Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Thu, 8 Sep 2022 00:13:21 +0200 Subject: [PATCH] update in ground and delayed_updating + example of unprotected balanced segment + balanced reduction parked for now + additions and renaming --- .../dbfr.ma => etc/balanced/dbfr.etc} | 10 ++--- .../balanced/dbfr_ibfr.etc} | 37 ++++++++-------- .../balanced/dbfr_lift.etc} | 0 .../ibfr.ma => etc/balanced/ibfr.etc} | 10 ++--- .../delayed_updating/reduction/dfr_ifr.ma | 6 +-- .../delayed_updating/reduction/ifr_unwind.ma | 6 +-- .../unwind/unwind2_rmap_closed.ma | 18 ++++++-- .../unwind/unwind2_rmap_unprotected.ma | 43 +++++++++++++++++++ .../ground/relocation/tr_uni_compose.ma | 7 +++ .../lambdadelta/ground/relocation/xap.ma | 5 +++ 10 files changed, 102 insertions(+), 40 deletions(-) rename matita/matita/contribs/lambdadelta/delayed_updating/{reduction/dbfr.ma => etc/balanced/dbfr.etc} (83%) rename matita/matita/contribs/lambdadelta/delayed_updating/{reduction/dbfr_ibfr.ma => etc/balanced/dbfr_ibfr.etc} (76%) rename matita/matita/contribs/lambdadelta/delayed_updating/{reduction/dbfr_lift.ma => etc/balanced/dbfr_lift.etc} (100%) rename matita/matita/contribs/lambdadelta/delayed_updating/{reduction/ibfr.ma => etc/balanced/ibfr.etc} (83%) create mode 100644 matita/matita/contribs/lambdadelta/delayed_updating/unwind/unwind2_rmap_unprotected.ma diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr.ma b/matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/dbfr.etc similarity index 83% rename from matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr.ma rename to matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/dbfr.etc index 349195cb0..f82db8a73 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/dbfr.etc @@ -15,7 +15,7 @@ include "delayed_updating/substitution/fsubst.ma". include "delayed_updating/syntax/prototerm_constructors.ma". include "delayed_updating/syntax/prototerm_eq.ma". -include "delayed_updating/syntax/path_head.ma". +include "delayed_updating/syntax/path_closed.ma". include "delayed_updating/syntax/path_balanced.ma". include "delayed_updating/syntax/path_structure.ma". include "delayed_updating/notation/relations/black_rightarrow_dbf_3.ma". @@ -24,13 +24,11 @@ include "ground/xoa/ex_6_5.ma". (* DELAYED BALANCED FOCUSED REDUCTION ***************************************) -(**) (* explicit ninj because we cannot declare the expectd type of k *) definition dbfr (r): relation2 prototerm prototerm ≝ λt1,t2. - ∃∃p,b,q,h,k. p●𝗔◗b●𝗟◗q = r & - ⊗b ϵ 𝐁 & b = ↳[h]b & - (𝗟◗q) = ↳[ninj k](𝗟◗q) & r◖𝗱k ϵ t1 & - t1[⋔r←𝛕(k+h).(t1⋔(p◖𝗦))] ⇔ t2 + ∃∃p,b,q,m,n. p●𝗔◗b●𝗟◗q = r & + ⊗b ϵ 𝐁 & b ϵ 𝐂❨m❩ & q ϵ 𝐂❨n❩ & r◖𝗱↑n ϵ t1 & + t1[⋔r←𝛕↑(m+n).(t1⋔(p◖𝗦))] ⇔ t2 . interpretation diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_ibfr.ma b/matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/dbfr_ibfr.etc similarity index 76% rename from matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_ibfr.ma rename to matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/dbfr_ibfr.etc index 043f61085..d7c16ca2b 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_ibfr.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/dbfr_ibfr.etc @@ -19,13 +19,13 @@ 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/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_head_structure.ma". +include "delayed_updating/syntax/path_closed_structure.ma". include "delayed_updating/syntax/path_structure_depth.ma". (* DELAYED BALANCED FOCUSED REDUCTION ***************************************) @@ -35,22 +35,21 @@ include "delayed_updating/syntax/path_structure_depth.ma". theorem dbfr_des_ibfr (f) (t1) (t2) (r): t1 ϵ 𝐓 → t1 ➡𝐝𝐛𝐟[r] t2 → ▼[f]t1 ➡𝐢𝐛𝐟[⊗r] ▼[f]t2. #f #t1 #t2 #r #H0t1 -* #p #b #q #h #k #Hr #Hb #Hh #H1k #Ht1 #Ht2 destruct -@(ex6_5_intro … (⊗p) (⊗b) (⊗q) (♭b) (↑♭q)) -[ -H0t1 -Hb -Hh -H1k -Ht1 -Ht2 // -| -H0t1 -Hh -H1k -Ht1 -Ht2 // -| -H0t1 -Hb -Ht1 -H1k -Ht2 - >Hh in ⊢ (??%?); >path_head_structure_depth structure_L_sn - >H1k in ⊢ (??%?); >path_head_structure_depth list_append_rcons_dx >list_append_assoc - lapply (unwind2_rmap_append_pap_closed f … (p●𝗔◗b) … H1k) -H1k - list_append_rcons_dx >list_append_assoc + unwind2_rmap_A_dx /2 width=1 by tls_unwind2_rmap_closed/ ] +*) (* Note: crux of the proof ends *) | // | /2 width=2 by ex_intro/ diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_lift.ma b/matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/dbfr_lift.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_lift.ma rename to matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/dbfr_lift.etc diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/ibfr.ma b/matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/ibfr.etc similarity index 83% rename from matita/matita/contribs/lambdadelta/delayed_updating/reduction/ibfr.ma rename to matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/ibfr.etc index b235cb481..dfa14ef98 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/ibfr.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/etc/balanced/ibfr.etc @@ -15,7 +15,7 @@ include "delayed_updating/substitution/fsubst.ma". include "delayed_updating/substitution/lift_prototerm.ma". include "delayed_updating/syntax/prototerm_eq.ma". -include "delayed_updating/syntax/path_head.ma". +include "delayed_updating/syntax/path_closed.ma". include "delayed_updating/syntax/path_balanced.ma". include "delayed_updating/syntax/path_structure.ma". include "delayed_updating/notation/relations/black_rightarrow_ibf_3.ma". @@ -25,13 +25,11 @@ include "ground/xoa/ex_6_5.ma". (* IMMEDIATE BALANCED FOCUSED REDUCTION *************************************) -(**) (* explicit ninj because we cannot declare the expectd type of k *) definition ibfr (r): relation2 prototerm prototerm ≝ λt1,t2. - ∃∃p,b,q,h,k. p●𝗔◗b●𝗟◗q = r & - ⊗b ϵ 𝐁 & b = ↳[h]b & - (𝗟◗q) = ↳[ninj k](𝗟◗q) & r◖𝗱k ϵ t1 & - t1[⋔r←↑[𝐮❨k+h❩](t1⋔(p◖𝗦))] ⇔ t2 + ∃∃p,b,q,m,n. p●𝗔◗b●𝗟◗q = r & + ⊗b ϵ 𝐁 & b ϵ 𝐂❨m❩ & q ϵ 𝐂❨n❩ & r◖𝗱↑n ϵ t1 & + t1[⋔r←↑[𝐮❨↑(m+n)❩](t1⋔(p◖𝗦))] ⇔ t2 . interpretation 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 5f37abd5f..d64067123 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma @@ -42,7 +42,7 @@ theorem dfr_des_ifr (f) (t1) (t2) (r): t1 ϵ 𝐓 → /2 width=2 by path_closed_structure_depth/ | lapply (in_comp_unwind2_path_term f … Ht1) -Ht2 -Ht1 -H0t1 nsucc_zero