X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fetc%2Fcpue%2Fcpmue.etc;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fetc%2Fcpue%2Fcpmue.etc;h=1132c8ee5a6739c99f5e5a7c3f4ccd1059ee18ff;hb=bac74b5cff042d37e1abc9c961a6c41094b8a294;hp=0000000000000000000000000000000000000000;hpb=cacd7323994f7621286dbfd93bbf4c50acfbe918;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/cpue/cpmue.etc b/matita/matita/contribs/lambdadelta/basic_2/etc/cpue/cpmue.etc new file mode 100644 index 000000000..1132c8ee5 --- /dev/null +++ b/matita/matita/contribs/lambdadelta/basic_2/etc/cpue/cpmue.etc @@ -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/notation/relations/predevalstar_6.ma". +include "basic_2/rt_transition/cnu.ma". +include "basic_2/rt_computation/cpms.ma". + +(* T-UNBOUND EVALUATION FOR T-BOUND RT-TRANSITION ON TERMS ******************) + +definition cpmue (h) (n) (G) (L): relation2 term term ≝ + λT1,T2. ∧∧ ⦃G,L⦄ ⊢ T1 ➡*[n,h] T2 & ⦃G,L⦄ ⊢ ⥲[h] 𝐍⦃T2⦄. + +interpretation "t-unbound evaluation for t-bound context-sensitive parallel rt-transition (term)" + 'PRedEvalStar h n G L T1 T2 = (cpmue h n G L T1 T2). + +definition R_cpmue (h) (G) (L) (T): predicate nat ≝ + λn. ∃U. ⦃G,L⦄ ⊢ T ➡*[h,n] 𝐍*⦃U⦄. + +(* Basic properties *********************************************************) + +lemma cpmue_intro (h) (n) (G) (L): + ∀T1,T2. ⦃G,L⦄ ⊢ T1 ➡*[n,h] T2 → ⦃G,L⦄ ⊢ ⥲[h] 𝐍⦃T2⦄ → ⦃G,L⦄ ⊢ T1 ➡*[h,n] 𝐍*⦃T2⦄. +/2 width=1 by conj/ qed. + +(* Basic forward lemmas *****************************************************) + +lemma cpmue_fwd_cpms (h) (n) (G) (L): + ∀T1,T2. ⦃G,L⦄ ⊢ T1 ➡*[h,n] 𝐍*⦃T2⦄ → ⦃G,L⦄ ⊢ T1 ➡*[n,h] T2. +#h #n #G #L #T1 #T2 * #HT12 #_ // +qed-.