X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fi_static%2Ftc_lfxs_drops.ma;h=006ca8f1a070fc8567a516b1616af2bb65e6f94f;hb=5c186c72f508da0849058afeecc6877cd9ed6303;hp=64bb1f3f1716033206993a70091c515467fe3a87;hpb=d4ab51c20dbccd1e88cd2c4dcdaf3b4e56301155;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/i_static/tc_lfxs_drops.ma b/matita/matita/contribs/lambdadelta/basic_2/i_static/tc_lfxs_drops.ma index 64bb1f3f1..006ca8f1a 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/i_static/tc_lfxs_drops.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/i_static/tc_lfxs_drops.ma @@ -18,24 +18,24 @@ include "basic_2/i_static/tc_lfxs.ma". (* ITERATED EXTENSION ON REFERRED ENTRIES OF A CONTEXT-SENSITIVE REALTION ***) -definition tc_dedropable_sn: predicate (relation3 lenv term term) ≝ - λR. ∀b,f,L1,K1. ⬇*[b, f] L1 ≡ K1 → - ∀K2,T. K1 ⦻**[R, T] K2 → ∀U. ⬆*[f] T ≡ U → - ∃∃L2. L1 ⦻**[R, U] L2 & ⬇*[b, f] L2 ≡ K2 & L1 ≡[f] L2. +definition tc_f_dedropable_sn: predicate (relation3 lenv term term) ≝ + λR. ∀b,f,L1,K1. ⬇*[b, f] L1 ≘ K1 → + ∀K2,T. K1 ⪤**[R, T] K2 → ∀U. ⬆*[f] T ≘ U → + ∃∃L2. L1 ⪤**[R, U] L2 & ⬇*[b, f] L2 ≘ K2 & L1 ≡[f] L2. -definition tc_dropable_sn: predicate (relation3 lenv term term) ≝ - λR. ∀b,f,L1,K1. ⬇*[b, f] L1 ≡ K1 → 𝐔⦃f⦄ → - ∀L2,U. L1 ⦻**[R, U] L2 → ∀T. ⬆*[f] T ≡ U → - ∃∃K2. K1 ⦻**[R, T] K2 & ⬇*[b, f] L2 ≡ K2. +definition tc_f_dropable_sn: predicate (relation3 lenv term term) ≝ + λR. ∀b,f,L1,K1. ⬇*[b, f] L1 ≘ K1 → 𝐔⦃f⦄ → + ∀L2,U. L1 ⪤**[R, U] L2 → ∀T. ⬆*[f] T ≘ U → + ∃∃K2. K1 ⪤**[R, T] K2 & ⬇*[b, f] L2 ≘ K2. -definition tc_dropable_dx: predicate (relation3 lenv term term) ≝ - λR. ∀L1,L2,U. L1 ⦻**[R, U] L2 → - ∀b,f,K2. ⬇*[b, f] L2 ≡ K2 → 𝐔⦃f⦄ → ∀T. ⬆*[f] T ≡ U → - ∃∃K1. ⬇*[b, f] L1 ≡ K1 & K1 ⦻**[R, T] K2. +definition tc_f_dropable_dx: predicate (relation3 lenv term term) ≝ + λR. ∀L1,L2,U. L1 ⪤**[R, U] L2 → + ∀b,f,K2. ⬇*[b, f] L2 ≘ K2 → 𝐔⦃f⦄ → ∀T. ⬆*[f] T ≘ U → + ∃∃K1. ⬇*[b, f] L1 ≘ K1 & K1 ⪤**[R, T] K2. (* Properties with generic slicing for local environments *******************) -lemma dedropable_sn_LTC: ∀R. dedropable_sn R → tc_dedropable_sn R. +lemma dedropable_sn_CTC: ∀R. f_dedropable_sn R → tc_f_dedropable_sn R. #R #HR #b #f #L1 #K1 #HLK1 #K2 #T #H elim H -K2 [ #K2 #HK12 #U #HTU elim (HR … HLK1 … HK12 … HTU) -K1 -T -HR /3 width=4 by ex3_intro, inj/ @@ -48,7 +48,7 @@ qed-. (* Inversion lemmas with generic slicing for local environments *************) -lemma dropable_sn_LTC: ∀R. dropable_sn R → tc_dropable_sn R. +lemma dropable_sn_CTC: ∀R. f_dropable_sn R → tc_f_dropable_sn R. #R #HR #b #f #L1 #K1 #HLK1 #Hf #L2 #U #H elim H -L2 [ #L2 #HL12 #T #HTU elim (HR … HLK1 … HL12 … HTU) -L1 -U -HR /3 width=3 by inj, ex2_intro/ @@ -59,7 +59,7 @@ lemma dropable_sn_LTC: ∀R. dropable_sn R → tc_dropable_sn R. ] qed-. -lemma dropable_dx_LTC: ∀R. dropable_dx R → tc_dropable_dx R. +lemma dropable_dx_CTC: ∀R. f_dropable_dx R → tc_f_dropable_dx R. #R #HR #L1 #L2 #U #H elim H -L2 [ #L2 #HL12 #b #f #K2 #HLK2 #Hf #T #HTU elim (HR … HL12 … HLK2 … HTU) -L2 -U -HR