X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_computation%2Fcsx_vector.ma;h=ab7046fd1719b2ae2c96081b9d7a8d0e1f19c02b;hb=57ae1762497a5f3ea75740e2908e04adb8642cc2;hp=5d0552b9522b35d4e143e69d20c294488b002735;hpb=a77d0bd6a04e94f765d329d47b37d9e04d349b14;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/csx_vector.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/csx_vector.ma index 5d0552b95..ab7046fd1 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/csx_vector.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/csx_vector.ma @@ -12,29 +12,31 @@ (* *) (**************************************************************************) -include "basic_2/syntax/term_vector.ma". +include "static_2/syntax/term_vector.ma". include "basic_2/rt_computation/csx.ma". (* STRONGLY NORMALIZING TERMS VECTORS FOR UNBOUND PARALLEL RT-TRANSITION ****) -definition csxv: ∀h. sd h → relation3 genv lenv (list term) ≝ - λh,o,G,L. all … (csx h o G L). +definition csxv (h) (G) (L): predicate (list term) ≝ + all … (csx h G L). interpretation "strong normalization for unbound context-sensitive parallel rt-transition (term vector)" - 'PRedTyStrong h o G L Ts = (csxv h o G L Ts). + 'PRedTyStrong h G L Ts = (csxv h G L Ts). (* Basic inversion lemmas ***************************************************) -lemma csxv_inv_cons: ∀h,o,G,L,T,Ts. ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃T⨮Ts⦄ → - ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃T⦄ ∧ ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃Ts⦄. +lemma csxv_inv_cons (h) (G) (L): + ∀T,Ts. ❪G,L❫ ⊢ ⬈*𝐒[h] T⨮Ts → + ∧∧ ❪G,L❫ ⊢ ⬈*𝐒[h] T & ❪G,L❫ ⊢ ⬈*𝐒[h] Ts. normalize // qed-. (* Basic forward lemmas *****************************************************) -lemma csx_fwd_applv: ∀h,o,G,L,T,Vs. ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃ⒶVs.T⦄ → - ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃Vs⦄ ∧ ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃T⦄. -#h #o #G #L #T #Vs elim Vs -Vs /2 width=1 by conj/ +lemma csx_fwd_applv (h) (G) (L): + ∀T,Vs. ❪G,L❫ ⊢ ⬈*𝐒[h] ⒶVs.T → + ∧∧ ❪G,L❫ ⊢ ⬈*𝐒[h] Vs & ❪G,L❫ ⊢ ⬈*𝐒[h] T. +#h #G #L #T #Vs elim Vs -Vs /2 width=1 by conj/ #V #Vs #IHVs #HVs lapply (csx_fwd_pair_sn … HVs) #HV lapply (csx_fwd_flat_dx … HVs) -HVs #HVs