]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_teqo_vector.ma
update in ground and delayed_updating
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / rt_computation / cpxs_teqo_vector.ma
index b3236af74387e02b43290bb74bd1345749085450..044a3894379c0282a960b940f4da3e4c9b9c4744 100644 (file)
@@ -16,13 +16,13 @@ include "static_2/syntax/teqo_simple_vector.ma".
 include "static_2/relocation/lifts_vector.ma".
 include "basic_2/rt_computation/cpxs_teqo.ma".
 
-(* UNBOUND CONTEXT-SENSITIVE PARALLEL RT-COMPUTATION FOR TERMS **************)
+(* EXTENDED CONTEXT-SENSITIVE PARALLEL RT-COMPUTATION FOR TERMS *************)
 
 (* Vector form of forward lemmas with outer equivalence for terms ***********)
 
-lemma cpxs_fwd_sort_vector (h) (G) (L):
-      â\88\80s,Vs,X2. â\9dªG,Lâ\9d« â\8a¢ â\92¶Vs.â\8b\86s â¬\88*[h] X2 â\86\92 â\92¶Vs.â\8b\86s â©³ X2.
-#h #G #L #s #Vs elim Vs -Vs /2 width=4 by cpxs_fwd_sort/
+lemma cpxs_fwd_sort_vector (G) (L):
+      â\88\80s,Vs,X2. â\9d¨G,Lâ\9d© â\8a¢ â\92¶Vs.â\8b\86s â¬\88* X2 â\86\92 â\92¶Vs.â\8b\86s ~ X2.
+#G #L #s #Vs elim Vs -Vs /2 width=4 by cpxs_fwd_sort/
 #V #Vs #IHVs #X2 #H
 elim (cpxs_inv_appl1 … H) -H *
 [ -IHVs #V1 #T1 #_ #_ #H destruct /2 width=1 by teqo_pair/
@@ -36,12 +36,12 @@ elim (cpxs_inv_appl1 … H) -H *
 qed-.
 
 (* Basic_2A1: was: cpxs_fwd_delta_vector *)
-lemma cpxs_fwd_delta_drops_vector (h) (I) (G) (L) (K):
+lemma cpxs_fwd_delta_drops_vector (I) (G) (L) (K):
       ∀V1,i. ⇩[i] L ≘ K.ⓑ[I]V1 →
       ∀V2. ⇧[↑i] V1 ≘ V2 →
-      â\88\80Vs,X2. â\9dªG,Lâ\9d« â\8a¢ â\92¶Vs.#i â¬\88*[h] X2 →
-      ∨∨ ⒶVs.#i ⩳ X2 | ❪G,L❫ ⊢ ⒶVs.V2 ⬈*[h] X2.
-#h #I #G #L #K #V1 #i #HLK #V2 #HV12 #Vs
+      â\88\80Vs,X2. â\9d¨G,Lâ\9d© â\8a¢ â\92¶Vs.#i â¬\88* X2 →
+      ∨∨ ⒶVs.#i ~ X2 | ❨G,L❩ ⊢ ⒶVs.V2 ⬈* X2.
+#I #G #L #K #V1 #i #HLK #V2 #HV12 #Vs
 elim Vs -Vs /2 width=5 by cpxs_fwd_delta_drops/
 #V #Vs #IHVs #X2 #H -K -V1
 elim (cpxs_inv_appl1 … H) -H *
@@ -64,10 +64,10 @@ elim (cpxs_inv_appl1 … H) -H *
 qed-.
 
 (* Basic_1: was just: pr3_iso_appls_beta *)
-lemma cpxs_fwd_beta_vector (h) (p) (G) (L):
-      â\88\80Vs,V,W,T,X2. â\9dªG,Lâ\9d« â\8a¢ â\92¶Vs.â\93\90V.â\93\9b[p]W.T â¬\88*[h] X2 →
-      ∨∨ ⒶVs.ⓐV.ⓛ[p]W. T ⩳ X2 | ❪G,L❫ ⊢ ⒶVs.ⓓ[p]ⓝW.V.T ⬈*[h] X2.
-#h #p #G #L #Vs elim Vs -Vs /2 width=1 by cpxs_fwd_beta/
+lemma cpxs_fwd_beta_vector (p) (G) (L):
+      â\88\80Vs,V,W,T,X2. â\9d¨G,Lâ\9d© â\8a¢ â\92¶Vs.â\93\90V.â\93\9b[p]W.T â¬\88* X2 →
+      ∨∨ ⒶVs.ⓐV.ⓛ[p]W. T ~ X2 | ❨G,L❩ ⊢ ⒶVs.ⓓ[p]ⓝW.V.T ⬈* X2.
+#p #G #L #Vs elim Vs -Vs /2 width=1 by cpxs_fwd_beta/
 #V0 #Vs #IHVs #V #W #T #X2 #H
 elim (cpxs_inv_appl1 … H) -H *
 [ -IHVs #V1 #T1 #_ #_ #H destruct /2 width=1 by teqo_pair, or_introl/
@@ -89,11 +89,11 @@ elim (cpxs_inv_appl1 … H) -H *
 qed-.
 
 (* Basic_1: was just: pr3_iso_appls_abbr *)
-lemma cpxs_fwd_theta_vector (h) (G) (L):
+lemma cpxs_fwd_theta_vector (G) (L):
       ∀V1b,V2b. ⇧[1] V1b ≘ V2b →
-      â\88\80p,V,T,X2. â\9dªG,Lâ\9d« â\8a¢ â\92¶V1b.â\93\93[p]V.T â¬\88*[h] X2 →
-      ∨∨ ⒶV1b.ⓓ[p]V.T ⩳ X2 | ❪G,L❫ ⊢ ⓓ[p]V.ⒶV2b.T ⬈*[h] X2.
-#h #G #L #V1b #V2b * -V1b -V2b /3 width=1 by or_intror/
+      â\88\80p,V,T,X2. â\9d¨G,Lâ\9d© â\8a¢ â\92¶V1b.â\93\93[p]V.T â¬\88* X2 →
+      ∨∨ ⒶV1b.ⓓ[p]V.T ~ X2 | ❨G,L❩ ⊢ ⓓ[p]V.ⒶV2b.T ⬈* X2.
+#G #L #V1b #V2b * -V1b -V2b /3 width=1 by or_intror/
 #V1b #V2b #V1a #V2a #HV12a #HV12b #p
 generalize in match HV12a; -HV12a
 generalize in match V2a; -V2a
@@ -139,12 +139,12 @@ elim (cpxs_inv_appl1 … H) -H *
 qed-.
 
 (* Basic_1: was just: pr3_iso_appls_cast *)
-lemma cpxs_fwd_cast_vector (h) (G) (L):
-      â\88\80Vs,W,T,X2. â\9dªG,Lâ\9d« â\8a¢ â\92¶Vs.â\93\9dW.T â¬\88*[h] X2 →
-      ∨∨ ⒶVs. ⓝW. T  X2
-       | â\9dªG,Lâ\9d« â\8a¢ â\92¶Vs.T â¬\88*[h] X2
-       | â\9dªG,Lâ\9d« â\8a¢ â\92¶Vs.W â¬\88*[h] X2.
-#h #G #L #Vs elim Vs -Vs /2 width=1 by cpxs_fwd_cast/
+lemma cpxs_fwd_cast_vector (G) (L):
+      â\88\80Vs,W,T,X2. â\9d¨G,Lâ\9d© â\8a¢ â\92¶Vs.â\93\9dW.T â¬\88* X2 →
+      ∨∨ ⒶVs. ⓝW. T ~ X2
+       | â\9d¨G,Lâ\9d© â\8a¢ â\92¶Vs.T â¬\88* X2
+       | â\9d¨G,Lâ\9d© â\8a¢ â\92¶Vs.W â¬\88* X2.
+#G #L #Vs elim Vs -Vs /2 width=1 by cpxs_fwd_cast/
 #V #Vs #IHVs #W #T #X2 #H
 elim (cpxs_inv_appl1 … H) -H *
 [ -IHVs #V0 #T0 #_ #_ #H destruct /2 width=1 by teqo_pair, or3_intro0/
@@ -171,10 +171,10 @@ elim (cpxs_inv_appl1 … H) -H *
 qed-.
 
 (* Basic_1: was just: nf2_iso_appls_lref *)
-lemma cpxs_fwd_cnx_vector (h) (G) (L):
-      â\88\80T. ð\9d\90\92â\9dªTâ\9d« â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88[h] ð\9d\90\8dâ\9dªTâ\9d« →
-      â\88\80Vs,X2. â\9dªG,Lâ\9d« â\8a¢ â\92¶Vs.T â¬\88*[h] X2 â\86\92 â\92¶Vs.T â©³ X2.
-#h #G #L #T #H1T #H2T #Vs elim Vs -Vs [ @(cpxs_fwd_cnx … H2T) ] (**) (* /2 width=3 by cpxs_fwd_cnx/ does not work *)
+lemma cpxs_fwd_cnx_vector (G) (L):
+      â\88\80T. ð\9d\90\92â\9d¨Tâ\9d© â\86\92 â\9d¨G,Lâ\9d© â\8a¢ â¬\88ð\9d\90\8d T →
+      â\88\80Vs,X2. â\9d¨G,Lâ\9d© â\8a¢ â\92¶Vs.T â¬\88* X2 â\86\92 â\92¶Vs.T ~ X2.
+#G #L #T #H1T #H2T #Vs elim Vs -Vs [ @(cpxs_fwd_cnx … H2T) ] (**) (* /2 width=3 by cpxs_fwd_cnx/ does not work *)
 #V #Vs #IHVs #X2 #H
 elim (cpxs_inv_appl1 … H) -H *
 [ -IHVs #V0 #T0 #_ #_ #H destruct /2 width=1 by teqo_pair/