From bf2b1df641df98a3b614a8c3d53edee8beb0964a Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Mon, 8 Apr 2019 18:47:22 +0200 Subject: [PATCH] update in basic_2 + decidability of cpes + some renaming --- .../lambdadelta/basic_2/dynamic/cnv_aaa.ma | 2 +- .../basic_2/dynamic/cnv_cpes_dec.ma | 41 +++++++++++++++++++ .../lambdadelta/basic_2/dynamic/cnv_cpme.ma | 30 ++++++++++++++ .../basic_2/rt_computation/cpme_aaa.ma | 32 +++++++++++++++ .../basic_2/rt_computation/cpms_aaa.ma | 2 +- .../basic_2/rt_computation/cpre_cpms.ma | 27 ++++++++++++ .../basic_2/rt_computation/cpre_csx.ma | 2 +- .../basic_2/rt_equivalence/cpes_aaa.ma | 2 +- .../lambdadelta/basic_2/web/basic_2_src.tbl | 6 +-- 9 files changed, 137 insertions(+), 7 deletions(-) create mode 100644 matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpes_dec.ma create mode 100644 matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpme.ma create mode 100644 matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpme_aaa.ma create mode 100644 matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpre_cpms.ma diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_aaa.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_aaa.ma index d8981613d..cad9f2318 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_aaa.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_aaa.ma @@ -56,5 +56,5 @@ lemma cnv_fwd_cpms_total (a) (h) (n) (G) (L): ∀T. ⦃G, L⦄ ⊢ T ![a, h] → ∃U. ⦃G,L⦄ ⊢ T ➡*[n,h] U. #a #h #n #G #L #T #H elim (cnv_fwd_aaa … H) -H #A #HA -/2 width=2 by aaa_cpms_total/ +/2 width=2 by cpms_total_aaa/ qed-. diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpes_dec.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpes_dec.ma new file mode 100644 index 000000000..60fc0d0da --- /dev/null +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpes_dec.ma @@ -0,0 +1,41 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "basic_2/rt_computation/cpme_aaa.ma". +include "basic_2/rt_computation/cpre_cpre.ma". +include "basic_2/rt_equivalence/cpes.ma". +include "basic_2/dynamic/cnv_cpme.ma". + +(* CONTEXT-SENSITIVE NATIVE VALIDITY FOR TERMS ******************************) + +(* Properties with t-bound rt-equivalence for terms *************************) + +lemma cnv_cpes_dec (a) (h) (n1) (n2) (G) (L): + ∀T1. ⦃G,L⦄ ⊢ T1 ![a,h] → ∀T2. ⦃G,L⦄ ⊢ T2 ![a,h] → + Decidable … (⦃G,L⦄ ⊢ T1 ⬌*[h,n1,n2] T2). +#a #h #n1 #n2 #G #L #T1 #HT1 #T2 #HT2 +elim (cnv_fwd_aaa … HT1) #A1 #HA1 +elim (cnv_fwd_aaa … HT2) #A2 #HA2 +elim (cpme_total_aaa h n1 … HA1) -HA1 #U1 #HTU1 +elim (cpme_total_aaa h n2 … HA2) -HA2 #U2 #HTU2 +elim (eq_term_dec U1 U2) [ #H destruct | #HnU12 ] +[ cases HTU1 -HTU1 #HTU1 #_ + cases HTU2 -HTU2 #HTU2 #_ + /3 width=3 by cpms_div, or_introl/ +| @or_intror * #T0 #HT10 #HT20 + lapply (cnv_cpme_cpms_conf … HT1 … HT10 … HTU1) -T1 #H1 + lapply (cnv_cpme_cpms_conf … HT2 … HT20 … HTU2) -T2 #H2 + /3 width=6 by cpre_mono/ +] +qed-. diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpme.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpme.ma new file mode 100644 index 000000000..dd3d99a30 --- /dev/null +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpme.ma @@ -0,0 +1,30 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "basic_2/rt_computation/cprs_cnr.ma". +include "basic_2/rt_computation/cpre.ma". +include "basic_2/dynamic/cnv_preserve.ma". + +(* CONTEXT-SENSITIVE NATIVE VALIDITY FOR TERMS ******************************) + +(* Properties with evaluation for t-bound rt-transition on terms ************) + +lemma cnv_cpme_cpms_conf (a) (h) (n) (G) (L): + ∀T. ⦃G,L⦄ ⊢ T ![a,h] → ∀T1. ⦃G,L⦄ ⊢ T ➡*[n,h] T1 → + ∀T2. ⦃G,L⦄ ⊢ T ➡*[h,n] 𝐍⦃T2⦄ → ⦃G,L⦄ ⊢ T1 ➡*[h] 𝐍⦃T2⦄. +#a #h #n #G #L #T0 #HT0 #T1 #HT01 #T2 * #HT02 #HT2 +elim (cnv_cpms_conf … HT0 … HT01 … HT02) -T0