]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/rt_computation/csx_lsubr.ma
made executable again
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / rt_computation / csx_lsubr.ma
index 2be0d7fdb8fc27870e0d7803ceb203d01b10480a..04a1b278b1fb2eadd4a52f93c5193f58fa9622cf 100644 (file)
 include "basic_2/rt_transition/cpx_lsubr.ma".
 include "basic_2/rt_computation/csx_csx.ma".
 
-(* STRONGLY NORMALIZING TERMS FOR UNBOUND PARALLEL RT-TRANSITION ************)
+(* STRONGLY NORMALIZING TERMS FOR EXTENDED PARALLEL RT-TRANSITION ***********)
 
 (* Advanced properties ******************************************************)
 
-fact csx_appl_beta_aux (h) (G) (L):
-     â\88\80p,U1. â\9dªG,Lâ\9d« â\8a¢ â¬\88\9d\90\92[h] U1 →
-     â\88\80V,W,T1. U1 = â\93\93[p]â\93\9dW.V.T1 â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88\9d\90\92[h] ⓐV.ⓛ[p]W.T1.
-#h #G #L #p #X #H @(csx_ind … H) -X
+fact csx_appl_beta_aux (G) (L):
+     â\88\80p,U1. â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 U1 →
+     â\88\80V,W,T1. U1 = â\93\93[p]â\93\9dW.V.T1 â\86\92 â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 ⓐV.ⓛ[p]W.T1.
+#G #L #p #X #H @(csx_ind … H) -X
 #X #HT1 #IHT1 #V #W #T1 #H1 destruct
 @csx_intro #X #H1 #H2
 elim (cpx_inv_appl1 … H1) -H1 *
@@ -43,36 +43,36 @@ elim (cpx_inv_appl1 … H1) -H1 *
 qed-.
 
 (* Basic_1: was just: sn3_beta *)
-lemma csx_appl_beta (h) (G) (L):
-      â\88\80p,V,W,T. â\9dªG,Lâ\9d« â\8a¢ â¬\88\9d\90\92[h] â\93\93[p]â\93\9dW.V.T â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88\9d\90\92[h] ⓐV.ⓛ[p]W.T.
+lemma csx_appl_beta (G) (L):
+      â\88\80p,V,W,T. â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 â\93\93[p]â\93\9dW.V.T â\86\92 â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 ⓐV.ⓛ[p]W.T.
 /2 width=3 by csx_appl_beta_aux/ qed.
 
 (* Advanced forward lemmas **************************************************)
 
-fact csx_fwd_bind_dx_unit_aux (h) (G) (L):
-     â\88\80U. â\9dªG,Lâ\9d« â\8a¢ â¬\88\9d\90\92[h] U →
-     â\88\80p,I,J,V,T. U = â\93\91[p,I]V.T â\86\92 â\9dªG,L.â\93¤[J]â\9d« â\8a¢ â¬\88\9d\90\92[h] T.
-#h #G #L #U #H elim H -H #U0 #_ #IH #p #I #J #V #T #H destruct
+fact csx_fwd_bind_dx_unit_aux (G) (L):
+     â\88\80U. â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 U →
+     â\88\80p,I,J,V,T. U = â\93\91[p,I]V.T â\86\92 â\9d¨G,L.â\93¤[J]â\9d© â\8a¢ â¬\88\9d\90\92 T.
+#G #L #U #H elim H -H #U0 #_ #IH #p #I #J #V #T #H destruct
 @csx_intro #T2 #HLT2 #HT2
-@(IH (ⓑ[p, I]V.T2)) -IH /2 width=4 by cpx_bind_unit/ -HLT2
-#H elim (teqx_inv_pair … H) -H /2 width=1 by/
+@(IH (ⓑ[p, I]V.T2)) -IH /2 width=4 by cpx_bind_unit/ -HLT2 #H
+elim (teqx_inv_pair … H) -H /2 width=1 by/
 qed-.
 
-lemma csx_fwd_bind_dx_unit (h) (G) (L):
-      â\88\80p,I,V,T. â\9dªG,Lâ\9d« â\8a¢ â¬\88\9d\90\92[h] ⓑ[p,I]V.T →
-      â\88\80J. â\9dªG,L.â\93¤[J]â\9d« â\8a¢ â¬\88\9d\90\92[h] T.
+lemma csx_fwd_bind_dx_unit (G) (L):
+      â\88\80p,I,V,T. â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 ⓑ[p,I]V.T →
+      â\88\80J. â\9d¨G,L.â\93¤[J]â\9d© â\8a¢ â¬\88\9d\90\92 T.
 /2 width=6 by csx_fwd_bind_dx_unit_aux/ qed-.
 
-lemma csx_fwd_bind_unit (h) (G) (L):
-      â\88\80p,I,V,T. â\9dªG,Lâ\9d« â\8a¢ â¬\88\9d\90\92[h] ⓑ[p,I]V.T →
-      â\88\80J. â\88§â\88§ â\9dªG,Lâ\9d« â\8a¢ â¬\88\9d\90\92[h] V & â\9dªG,L.â\93¤[J]â\9d« â\8a¢ â¬\88\9d\90\92[h] T.
+lemma csx_fwd_bind_unit (G) (L):
+      â\88\80p,I,V,T. â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 ⓑ[p,I]V.T →
+      â\88\80J. â\88§â\88§ â\9d¨G,Lâ\9d© â\8a¢ â¬\88\9d\90\92 V & â\9d¨G,L.â\93¤[J]â\9d© â\8a¢ â¬\88\9d\90\92 T.
 /3 width=4 by csx_fwd_pair_sn, csx_fwd_bind_dx_unit, conj/ qed-.
 
 (* Properties with restricted refinement for local environments *************)
 
-lemma csx_lsubr_conf (h) (G) (L1):
-      â\88\80T. â\9dªG,L1â\9d« â\8a¢ â¬\88\9d\90\92[h] T â\86\92 â\88\80L2. L1 â«\83 L2 â\86\92 â\9dªG,L2â\9d« â\8a¢ â¬\88\9d\90\92[h] T.
-#h #G #L1 #T #H
+lemma csx_lsubr_conf (G) (L1):
+      â\88\80T. â\9d¨G,L1â\9d© â\8a¢ â¬\88\9d\90\92 T â\86\92 â\88\80L2. L1 â«\83 L2 â\86\92 â\9d¨G,L2â\9d© â\8a¢ â¬\88\9d\90\92 T.
+#G #L1 #T #H
 @(csx_ind … H) -T #T1 #_ #IH #L2 #HL12
 @csx_intro #T2 #HT12 #HnT12
 /3 width=3 by lsubr_cpx_trans/