From 7a38c18c277529cb0e0d72d46cd73f6e1097309b Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi <ferruccio.guidi@unibo.it> Date: Tue, 17 Jan 2017 20:41:45 +0000 Subject: [PATCH] lfpx_frees and confluence of lfpr! --- .../basic_2/rt_transition/lfpr_lfpr.ma | 8 +++++++ .../basic_2/rt_transition/lfpr_lfpx.ma | 4 ++++ .../basic_2/rt_transition/lfpr_main.ma | 21 ------------------- .../basic_2/rt_transition/lfpx_frees.ma | 5 ----- .../basic_2/rt_transition/partial.txt | 2 +- .../lambdadelta/basic_2/web/basic_2.ldw.xml | 3 +++ .../lambdadelta/basic_2/web/basic_2_src.tbl | 4 ++-- 7 files changed, 18 insertions(+), 29 deletions(-) delete mode 100644 matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_main.ma diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpr.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpr.ma index 80310acaf..fe854ea45 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpr.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpr.ma @@ -12,11 +12,14 @@ (* *) (**************************************************************************) +include "basic_2/static/lfxs_lfxs.ma". +include "basic_2/rt_transition/lfpx_frees.ma". include "basic_2/rt_transition/cpm_lsubr.ma". include "basic_2/rt_transition/cpr.ma". include "basic_2/rt_transition/cpr_drops.ma". include "basic_2/rt_transition/lfpr_drops.ma". include "basic_2/rt_transition/lfpr_fqup.ma". +include "basic_2/rt_transition/lfpr_lfpx.ma". (* PARALLEL R-TRANSITION FOR LOCAL ENV.S ON REFERRED ENTRIES ****************) @@ -371,3 +374,8 @@ lemma lfpr_cpr_conf_sn: âh,G,L0,T0,T1. â¦G, L0⦠⢠T0 â¡[h] T1 â âL1. #h #G #L0 #T0 #T1 #HT01 #L1 #HL01 elim (cpr_conf_lfpr ⦠HT01 T0 ⦠L0 ⦠HL01) /2 width=3 by ex2_intro/ qed-. + +(* Main properties **********************************************************) + +theorem lfpr_conf: âh,G,T. confluent ⦠(lfpr h G T). +/4 width=6 by cpr_conf_lfpr, lfpx_frees_conf_fwd_lfpr, lfpx_frees_conf, lfxs_conf/ qed-. diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpx.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpx.ma index 47323a86d..aea28258e 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpx.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpx.ma @@ -20,5 +20,9 @@ include "basic_2/rt_transition/lfpr.ma". (* Fwd. lemmas with unc. rt-transition for local env.s on referred entries **) +lemma lfpx_frees_conf_fwd_lfpr: âh,G. lexs_frees_confluent (cpx h G) cfull â + lexs_frees_confluent (cpm 0 h G) cfull. +/4 width=7 by cpm_fwd_cpx, lexs_co/ qed-. + lemma lfpr_fwd_lfpx: âh,T,G,L1,L2. â¦G, L1⦠⢠â¡[h, T] L2 â â¦G, L1⦠⢠â¬[h, T] L2. /3 width=3 by cpm_fwd_cpx, lfxs_co/ qed-. diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_main.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_main.ma deleted file mode 100644 index de8e8a719..000000000 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_main.ma +++ /dev/null @@ -1,21 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||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/static/lfxs_lfxs.ma". -include "basic_2/rt_transition/lfpr_lfpr.ma". - -theorem lfpr_conf: âh,G,T. confluent ⦠(lfpr h G T). -#h #G @lfxs_conf [ | @cpr_conf_lfpr ] -qed-. - diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpx_frees.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpx_frees.ma index 250760ca7..46fd8a229 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpx_frees.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpx_frees.ma @@ -22,11 +22,6 @@ include "basic_2/rt_transition/cpx_drops.ma". (* Properties with context-sensitive free variables *************************) -axiom frees_pair_flat: âL,T,f1,I1,V1. L.â{I1}V1 ⢠ð *â¦T⦠⡠f1 â - âf2,I2,V2. L.â{I2}V2 ⢠ð *â¦T⦠⡠f2 â - âf0. f1 â f2 â¡ f0 â - âI0,I. L.â{I0}â{I}V1.V2 ⢠ð *â¦T⦠⡠f0. - (* Basic_2A1: was: lpx_cpx_frees_trans *) lemma cpx_frees_conf_lfpx: âh,G,L1,T1,f1. L1 ⢠ð *â¦T1⦠⡠f1 â âL2. L1 ⦻*[cpx h G, cfull, f1] L2 â diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/partial.txt b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/partial.txt index d0eb3451c..26a059fa7 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/partial.txt +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/partial.txt @@ -1,6 +1,6 @@ cpg.ma cpg_simple.ma cpg_drops.ma cpg_lsubr.ma cpx.ma cpx_simple.ma cpx_drops.ma cpx_lsubr.ma -lfpx.ma lfpx_length.ma lfpx_drops.ma lfpx_fqup.ma +lfpx.ma lfpx_length.ma lfpx_drops.ma lfpx_fqup.ma lfpx_frees.ma cpm.ma cpm_simple.ma cpm_drops.ma cpm_lsubr.ma cpm_cpx.ma cpr.ma cpr_drops.ma lfpr.ma lfpr_length.ma lfpr_drops.ma lfpr_fqup.ma lfpr_lfpx.ma lfpr_lfpr.ma diff --git a/matita/matita/contribs/lambdadelta/basic_2/web/basic_2.ldw.xml b/matita/matita/contribs/lambdadelta/basic_2/web/basic_2.ldw.xml index d5f8b0b7f..9f80ad898 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/web/basic_2.ldw.xml +++ b/matita/matita/contribs/lambdadelta/basic_2/web/basic_2.ldw.xml @@ -34,6 +34,9 @@ <subsection name="A2">Stage "A2": "Extending the Applicability Condition"</subsection> + <news class="alpha" date="2017 January 17."> + Confluence for parallel r-transition on referred entries of local environments. + </news> <news class="alpha" date="2016 September 15."> Confluence for context-sensitive parallel r-transition on terms. </news> diff --git a/matita/matita/contribs/lambdadelta/basic_2/web/basic_2_src.tbl b/matita/matita/contribs/lambdadelta/basic_2/web/basic_2_src.tbl index 14974f02b..fa1bbc81a 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/web/basic_2_src.tbl +++ b/matita/matita/contribs/lambdadelta/basic_2/web/basic_2_src.tbl @@ -138,7 +138,7 @@ table { } ] [ { "context-sensitive rt-reduction" * } { - [ "lpx_drop" + "lpx_frees" + "lpx_lleq" + "lpx_aaa" * ] + [ "lpx_lleq" + "lpx_aaa" * ] [ "cpx_lreq" + "cpx_fqus" + "cpx_llpx_sn" + "cpx_lleq" * ] } ] @@ -150,7 +150,7 @@ table { } ] [ { "uncounted context-sensitive rt-transition" * } { - [ "lfpx ( â¦?,?⦠⢠â¬[?,?] ? )" "lfpx_length" + "lfpx_drops" + "lfpx_fqup" * ] + [ "lfpx ( â¦?,?⦠⢠â¬[?,?] ? )" "lfpx_length" + "lfpx_drops" + "lfpx_fqup" + "lfpx_frees" * ] [ "cpx ( â¦?,?⦠⢠? â¬[?] ? )" "cpx_simple" + "cpx_drops" + "cpx_lsubr" * ] } ] -- 2.39.5