]> matita.cs.unibo.it Git - helm.git/commitdiff
lfpx_frees and confluence of lfpr!
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Tue, 17 Jan 2017 20:41:45 +0000 (20:41 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Tue, 17 Jan 2017 20:41:45 +0000 (20:41 +0000)
matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpr.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpx.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_main.ma [deleted file]
matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpx_frees.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/partial.txt
matita/matita/contribs/lambdadelta/basic_2/web/basic_2.ldw.xml
matita/matita/contribs/lambdadelta/basic_2/web/basic_2_src.tbl

index 80310acaf7c5b843b2d8e306161593772cce7c62..fe854ea4584f51785dd83bb72adf5b9d24a3b219 100644 (file)
 (*                                                                        *)
 (**************************************************************************)
 
+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-.
index 47323a86d149d3a0b141e4be1ce0e016feff16e7..aea28258ead0e8b4f55fb26b9d599a86c1952c85 100644 (file)
@@ -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 (file)
index de8e8a7..0000000
+++ /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-.
-
index 250760ca73c42e83ab6ff87be3e3fc978848bd32..46fd8a2291071096667a73235ec18309b94219ca 100644 (file)
@@ -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 →
index d0eb3451c77b9b030969eddbb7429aab36139f3b..26a059fa71ca9e029de50c08737d96b2db1fe705 100644 (file)
@@ -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
index d5f8b0b7f2f9c11c341982596182c7381b1db693..9f80ad898c82f3d04a1e652b5cc41de0c4370189 100644 (file)
@@ -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>
index 14974f02be078c91dfeb0fe92035ba978816f23a..fa1bbc81ab6acad24dbf0820ce04922c519902a5 100644 (file)
@@ -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" * ]
           }
         ]