X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_transition%2Flfpr_drops.ma;h=4b531bf74c86e1841f7756a29753be6f2d1fb1e2;hb=4738096e93f997fb36d35dd723b87682a2f6de90;hp=b3deebd859e0ea411d626ca095f62897ec2f578d;hpb=45996e63afdb9802935990660c4912d58035e016;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_drops.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_drops.ma index b3deebd85..4b531bf74 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_drops.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_drops.ma @@ -20,13 +20,24 @@ include "basic_2/rt_transition/lfpr.ma". (* Properties with generic slicing for local environments *******************) +(* Basic_2A1: uses: drop_lpr_trans *) lemma drops_lfpr_trans: ∀h,G. dedropable_sn (cpm 0 h G). -/3 width=6 by lfxs_liftable_dedropable, cpm_lifts/ qed-. +/3 width=6 by lfxs_liftable_dedropable_sn, cpm_lifts_sn/ qed-. (* Inversion lemmas with generic slicing for local environments *************) +(* Basic_2A1: uses: lpr_drop_conf *) lemma lfpr_drops_conf: ∀h,G. dropable_sn (cpm 0 h G). /2 width=5 by lfxs_dropable_sn/ qed-. +(* Basic_2A1: uses: lpr_drop_trans_O1 *) lemma lfpr_drops_trans: ∀h,G. dropable_dx (cpm 0 h G). /2 width=5 by lfxs_dropable_dx/ qed-. + +lemma lfpr_inv_lref_pair_sn: ∀h,G,L1,L2,i. ⦃G, L1⦄ ⊢ ➡[h, #i] L2 → ∀I,K1,V1. ⬇*[i] L1 ≡ K1.ⓑ{I}V1 → + ∃∃K2,V2. ⬇*[i] L2 ≡ K2.ⓑ{I}V2 & ⦃G, K1⦄ ⊢ ➡[h, V1] K2 & ⦃G, K1⦄ ⊢ V1 ➡[h] V2. +/2 width=3 by lfxs_inv_lref_pair_sn/ qed-. + +lemma lfpr_inv_lref_pair_dx: ∀h,G,L1,L2,i. ⦃G, L1⦄ ⊢ ➡[h, #i] L2 → ∀I,K2,V2. ⬇*[i] L2 ≡ K2.ⓑ{I}V2 → + ∃∃K1,V1. ⬇*[i] L1 ≡ K1.ⓑ{I}V1 & ⦃G, K1⦄ ⊢ ➡[h, V1] K2 & ⦃G, K1⦄ ⊢ V1 ➡[h] V2. +/2 width=3 by lfxs_inv_lref_pair_dx/ qed-.