X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fcomputation%2Fcpds.ma;h=692f1fb0a95f231f89ccb39449e8f84cb2670e2d;hb=fdb2c62b58006b82c015ba70b494d50c7860e28f;hp=981809df83531642104242d94ad1faf5ffd828fe;hpb=65008df95049eb835941ffea1aa682c9253c4c2b;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/computation/cpds.ma b/matita/matita/contribs/lambdadelta/basic_2/computation/cpds.ma index 981809df8..692f1fb0a 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/computation/cpds.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/computation/cpds.ma @@ -12,39 +12,35 @@ (* *) (**************************************************************************) -include "basic_2/notation/relations/dpredstar_5.ma". -include "basic_2/unfold/sstas.ma". +include "basic_2/notation/relations/dpredstar_6.ma". +include "basic_2/unfold/lsstas.ma". include "basic_2/computation/cprs.ma". (* DECOMPOSED EXTENDED PARALLEL COMPUTATION ON TERMS ************************) -definition cpds: ∀h. sd h → lenv → relation term ≝ λh,g,L,T1,T2. - ∃∃T. ⦃h, L⦄ ⊢ T1 •*[g] T & L ⊢ T ➡* T2. +definition cpds: ∀h. sd h → relation4 genv lenv term term ≝ + λh,g,G,L,T1,T2. + ∃∃T,l1,l2. l2 ≤ l1 & ⦃G, L⦄ ⊢ T1 ▪[h, g] l1 & ⦃G, L⦄ ⊢ T1 •*[h, g, l2] T & ⦃G, L⦄ ⊢ T ➡* T2. interpretation "decomposed extended parallel computation (term)" - 'DPRedStar h g L T1 T2 = (cpds h g L T1 T2). + 'DPRedStar h g G L T1 T2 = (cpds h g G L T1 T2). (* Basic properties *********************************************************) -lemma cpds_refl: ∀h,g,L. reflexive … (cpds h g L). -/2 width=3/ qed. +lemma ssta_cprs_cpds: ∀h,g,G,L,T1,T,T2,l. ⦃G, L⦄ ⊢ T1 ▪[h, g] l+1 → ⦃G, L⦄ ⊢ T1 •[h, g] T → + ⦃G, L⦄ ⊢ T ➡* T2 → ⦃G, L⦄ ⊢ T1 •*➡*[h, g] T2. +/3 width=7/ qed. -lemma sstas_cpds: ∀h,g,L,T1,T2. ⦃h, L⦄ ⊢ T1 •*[g] T2 → ⦃h, L⦄ ⊢ T1 •*➡*[g] T2. -/2 width=3/ qed. +lemma lsstas_cpds: ∀h,g,G,L,T1,T2,l. ⦃G, L⦄ ⊢ T1 ▪[h, g] l → ⦃G, L⦄ ⊢ T1 •*[h, g, l] T2 → ⦃G, L⦄ ⊢ T1 •*➡*[h, g] T2. +/2 width=7/ qed. -lemma cprs_cpds: ∀h,g,L,T1,T2. L ⊢ T1 ➡* T2 → ⦃h, L⦄ ⊢ T1 •*➡*[g] T2. -/2 width=3/ qed. +lemma cprs_cpds: ∀h,g,G,L,T1,T2,l. ⦃G, L⦄ ⊢ T1 ▪[h, g] l → ⦃G, L⦄ ⊢ T1 ➡* T2 → ⦃G, L⦄ ⊢ T1 •*➡*[h, g] T2. +/2 width=7/ qed. -lemma cpds_strap1: ∀h,g,L,T1,T,T2. - ⦃h, L⦄ ⊢ T1 •*➡*[g] T → L ⊢ T ➡ T2 → ⦃h, L⦄ ⊢ T1 •*➡*[g] T2. -#h #g #L #T1 #T #T2 * /3 width=5/ -qed. +lemma cpds_refl: ∀h,g,G,L,T,l. ⦃G, L⦄ ⊢ T ▪[h, g] l → ⦃G, L⦄ ⊢ T •*➡*[h, g] T. +/2 width=2/ qed. -lemma cpds_strap2: ∀h,g,L,T1,T,T2,l. - ⦃h, L⦄ ⊢ T1 •[g] ⦃l+1, T⦄ → ⦃h, L⦄ ⊢ T •*➡*[g] T2 → ⦃h, L⦄ ⊢ T1 •*➡*[g] T2. -#h #g #L #T1 #T #T2 #l #HT1 * /3 width=4/ +lemma cpds_strap1: ∀h,g,G,L,T1,T,T2. + ⦃G, L⦄ ⊢ T1 •*➡*[h, g] T → ⦃G, L⦄ ⊢ T ➡ T2 → ⦃G, L⦄ ⊢ T1 •*➡*[h, g] T2. +#h #g #G #L #T1 #T #T2 * /3 width=9/ qed. - -lemma ssta_cprs_cpds: ∀h,g,L,T1,T,T2,l. ⦃h, L⦄ ⊢ T1 •[g] ⦃l+1, T⦄ → - L ⊢ T ➡* T2 → ⦃h, L⦄ ⊢ T1 •*➡*[g] T2. -/3 width=3/ qed.