]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/rt_computation/csx_lpx.ma
made executable again
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / rt_computation / csx_lpx.ma
index 5c4018a728dc2fb6050c080cbc16b37d52ddbb1c..1ecb2307b6272c4cb98cb4ade4d7a91777263189 100644 (file)
 include "basic_2/rt_computation/cpxs_lpx.ma".
 include "basic_2/rt_computation/csx_cpxs.ma".
 
-(* CONTEXT-SENSITIVE EXTENDED STRONGLY NORMALIZING TERMS ********************)
+(* STRONGLY NORMALIZING TERMS FOR EXTENDED PARALLEL RT-TRANSITION ***********)
 
-(* Properties with unbound parallel rt-transition on all entries ************)
+(* Properties with extended parallel rt-transition on all entries ***********)
 
-lemma csx_lpx_conf (h) (G):
-      ∀L1,T. ❪G,L1❫ ⊢ ⬈*[h] 𝐒❪T❫ →
-      â\88\80L2. â\9dªG,L1â\9d« â\8a¢ â¬\88[h] L2 â\86\92 â\9dªG,L2â\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªTâ\9d«.
-#h #G #L1 #T #H @(csx_ind_cpxs … H) -T
+lemma csx_lpx_conf (G) (L1):
+      ∀T. ❨G,L1❩ ⊢ ⬈*𝐒 T →
+      â\88\80L2. â\9d¨G,L1â\9d© â\8a¢ â¬\88 L2 â\86\92 â\9d¨G,L2â\9d© â\8a¢ â¬\88\9d\90\92 T.
+#G #L1 #T #H @(csx_ind_cpxs … H) -T
 /4 width=3 by csx_intro, lpx_cpx_trans/
 qed-.
 
 (* Advanced properties ******************************************************)
 
-lemma csx_abst (h) (G):
-      ∀p,L,W. ❪G,L❫ ⊢ ⬈*[h] 𝐒❪W❫ →
-      â\88\80T. â\9dªG,L.â\93\9b\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªTâ\9d« â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\9b[p]W.Tâ\9d«.
-#h #G #p #L #W #HW
+lemma csx_abst (G) (L):
+      ∀p,W. ❨G,L❩ ⊢ ⬈*𝐒 W →
+      â\88\80T. â\9d¨G,L.â\93\9b\9d© â\8a¢ â¬\88\9d\90\92 T â\86\92 â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 â\93\9b[p]W.T.
+#G #L #p #W #HW
 @(csx_ind … HW) -W #W #_ #IHW #T #HT
 @(csx_ind … HT) -T #T #HT #IHT
 @csx_intro #X #H1 #H2
@@ -44,10 +44,10 @@ elim (tneqx_inv_pair  … H2) -H2
 ]
 qed.
 
-lemma csx_abbr (h) (G):
-      ∀p,L,V. ❪G,L❫ ⊢ ⬈*[h] 𝐒❪V❫ →
-      â\88\80T. â\9dªG,L.â\93\93\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªTâ\9d« â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\93[p]V.Tâ\9d«.
-#h #G #p #L #V #HV
+lemma csx_abbr (G) (L):
+      ∀p,V. ❨G,L❩ ⊢ ⬈*𝐒 V →
+      â\88\80T. â\9d¨G,L.â\93\93\9d© â\8a¢ â¬\88\9d\90\92 T â\86\92 â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 â\93\93[p]V.T.
+#G #L #p #V #HV
 @(csx_ind … HV) -V #V #_ #IHV #T #HT
 @(csx_ind_cpxs … HT) -T #T #HT #IHT
 @csx_intro #X #H1 #H2
@@ -63,17 +63,17 @@ elim (cpx_inv_abbr1 … H1) -H1 *
 ]
 qed.
 
-lemma csx_bind (h) (G):
-      ∀p,I,L,V. ❪G,L❫ ⊢ ⬈*[h] 𝐒❪V❫ →
-      â\88\80T. â\9dªG,L.â\93\91[I]Vâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªTâ\9d« â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\91[p,I]V.Tâ\9d«.
-#h #G #p * #L #V #HV #T #HT
+lemma csx_bind (G) (L):
+      ∀p,I,V. ❨G,L❩ ⊢ ⬈*𝐒 V →
+      â\88\80T. â\9d¨G,L.â\93\91[I]Vâ\9d© â\8a¢ â¬\88\9d\90\92 T â\86\92 â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 â\93\91[p,I]V.T.
+#G #L #p * #V #HV #T #HT
 /2 width=1 by csx_abbr, csx_abst/
 qed.
 
-fact csx_appl_theta_aux (h) (G):
-     ∀p,L,U. ❪G,L❫ ⊢ ⬈*[h] 𝐒❪U❫ → ∀V1,V2. ⇧*[1] V1 ≘ V2 →
-     â\88\80V,T. U = â\93\93[p]V.â\93\90V2.T â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\90V1.â\93\93[p]V.Tâ\9d«.
-#h #G #p #L #X #H
+fact csx_appl_theta_aux (G) (L):
+     ∀p,U. ❨G,L❩ ⊢ ⬈*𝐒 U → ∀V1,V2. ⇧[1] V1 ≘ V2 →
+     â\88\80V,T. U = â\93\93[p]V.â\93\90V2.T â\86\92 â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 â\93\90V1.â\93\93[p]V.T.
+#G #L #p #X #H
 @(csx_ind_cpxs … H) -X #X #HVT #IHVT #V1 #V2 #HV12 #V #T #H destruct
 lapply (csx_fwd_pair_sn … HVT) #HV
 lapply (csx_fwd_bind_dx … HVT) -HVT #HVT
@@ -105,7 +105,7 @@ elim (cpx_inv_appl1 … HL) -HL *
 ]
 qed-.
 
-lemma csx_appl_theta (h) (G):
-      ∀p,L,V,V2,T. ❪G,L❫ ⊢ ⬈*[h] 𝐒❪ⓓ[p]V.ⓐV2.T❫ →
-      ∀V1. ⇧*[1] V1 ≘ V2 → ❪G,L❫ ⊢ ⬈*[h] 𝐒❪ⓐV1.ⓓ[p]V.T❫.
+lemma csx_appl_theta (G) (L):
+      ∀p,V,V2,T. ❨G,L❩ ⊢ ⬈*𝐒 ⓓ[p]V.ⓐV2.T →
+      ∀V1. ⇧[1] V1 ≘ V2 → ❨G,L❩ ⊢ ⬈*𝐒 ⓐV1.ⓓ[p]V.T.
 /2 width=5 by csx_appl_theta_aux/ qed.