From 472cb969d9a01a6d24eabc39ba20d1dc6adf1b04 Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Wed, 3 Sep 2014 14:59:43 +0000 Subject: [PATCH] - the PARTIAL COMMIT continues, we issue the "reduction" component --- .../basic_2/etc/sta/{da_aaa.ma => da_aaa.etc} | 0 .../basic_2/etc/sta/{da_sta.ma => da_sta.etc} | 0 .../basic_2/etc/sta/{lstas.ma => lstas.etc} | 0 .../etc/sta/{lstas_aaa.ma => lstas_aaa.etc} | 0 .../etc/sta/{lstas_alt.ma => lstas_alt.etc} | 0 .../etc/sta/{lstas_da.ma => lstas_da.etc} | 0 .../etc/sta/{lstas_lift.ma => lstas_lift.etc} | 0 .../sta/{lstas_lstas.ma => lstas_lstas.etc} | 0 .../basic_2/etc/sta/{sta.ma => sta.etc} | 0 .../etc/sta/{sta_aaa.ma => sta_aaa.etc} | 0 .../etc/sta/{sta_lift.ma => sta_lift.etc} | 0 .../sta/{sta_llpx_sn.ma => sta_llpx_sn.etc} | 0 .../etc/sta/{sta_sta.ma => sta_sta.etc} | 0 .../sta/{statictype_5.ma => statictype_5.etc} | 0 ...pestaralt_6.ma => statictypestaralt_6.etc} | 0 .../lambdadelta/basic_2/reduction/cpr.ma | 15 +++++++ .../lambdadelta/basic_2/reduction/cpx_lift.ma | 31 ++++++++----- .../lambdadelta/basic_2/reduction/fpb_lift.ma | 2 +- .../lambdadelta/basic_2/unfold/lstas_lift.ma | 4 -- .../basic_2/unfold/lstas_llpx_sn.ma | 44 +++++++++++++++++++ .../lambdadelta/ground_2/lib/arith.ma | 7 +++ 21 files changed, 86 insertions(+), 17 deletions(-) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{da_aaa.ma => da_aaa.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{da_sta.ma => da_sta.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{lstas.ma => lstas.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{lstas_aaa.ma => lstas_aaa.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{lstas_alt.ma => lstas_alt.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{lstas_da.ma => lstas_da.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{lstas_lift.ma => lstas_lift.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{lstas_lstas.ma => lstas_lstas.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{sta.ma => sta.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{sta_aaa.ma => sta_aaa.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{sta_lift.ma => sta_lift.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{sta_llpx_sn.ma => sta_llpx_sn.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{sta_sta.ma => sta_sta.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{statictype_5.ma => statictype_5.etc} (100%) rename matita/matita/contribs/lambdadelta/basic_2/etc/sta/{statictypestaralt_6.ma => statictypestaralt_6.etc} (100%) create mode 100644 matita/matita/contribs/lambdadelta/basic_2/unfold/lstas_llpx_sn.ma diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/da_aaa.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/da_aaa.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/da_aaa.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/da_aaa.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/da_sta.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/da_sta.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/da_sta.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/da_sta.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_aaa.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_aaa.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_aaa.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_aaa.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_alt.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_alt.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_alt.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_alt.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_da.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_da.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_da.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_da.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_lift.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_lift.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_lift.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_lift.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_lstas.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_lstas.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_lstas.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/lstas_lstas.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_aaa.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_aaa.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_aaa.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_aaa.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_lift.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_lift.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_lift.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_lift.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_llpx_sn.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_llpx_sn.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_llpx_sn.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_llpx_sn.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_sta.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_sta.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_sta.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/sta_sta.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/statictype_5.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/statictype_5.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/statictype_5.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/statictype_5.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sta/statictypestaralt_6.ma b/matita/matita/contribs/lambdadelta/basic_2/etc/sta/statictypestaralt_6.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/basic_2/etc/sta/statictypestaralt_6.ma rename to matita/matita/contribs/lambdadelta/basic_2/etc/sta/statictypestaralt_6.etc diff --git a/matita/matita/contribs/lambdadelta/basic_2/reduction/cpr.ma b/matita/matita/contribs/lambdadelta/basic_2/reduction/cpr.ma index 6db05fe53..d2034f9d1 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/reduction/cpr.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/reduction/cpr.ma @@ -15,6 +15,7 @@ include "basic_2/notation/relations/pred_4.ma". include "basic_2/grammar/genv.ma". include "basic_2/static/lsubr.ma". +include "basic_2/unfold/lstas.ma". (* CONTEXT-SENSITIVE PARALLEL REDUCTION FOR TERMS ***************************) @@ -93,6 +94,20 @@ lemma cpr_delift: ∀G,K,V,T1,L,d. ⇩[d] L ≡ (K.ⓓV) → ] qed-. +fact lstas_cpr_aux: ∀h,G,L,T1,T2,l. ⦃G, L⦄ ⊢ T1 •*[h, l] T2 → + l = 0 → ⦃G, L⦄ ⊢ T1 ➡ T2. +#h #G #L #T1 #T2 #l #H elim H -G -L -T1 -T2 -l +/3 width=1 by cpr_eps, cpr_flat, cpr_bind/ +[ #G #L #l #k #H0 destruct normalize // +| #G #L #K #V1 #V2 #W2 #i #l #HLK #_ #HVW2 #IHV12 #H destruct + /3 width=6 by cpr_delta/ +| #G #L #K #V1 #V2 #W2 #i #l #_ #_ #_ #_