]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/rt_computation/jsx_drops.ma
milestone update in basic_2, update in ground and static_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / rt_computation / jsx_drops.ma
index 93368d55426d59ca1d2286588edf2ba39245bf0b..2fb26c5b5cfd693a0ce58353561b79e9339329bf 100644 (file)
 include "static_2/relocation/drops.ma".
 include "basic_2/rt_computation/jsx.ma".
 
-(* COMPATIBILITY OF STRONG NORMALIZATION FOR UNBOUND RT-TRANSITION **********)
+(* COMPATIBILITY OF STRONG NORMALIZATION FOR EXTENDED RT-TRANSITION *********)
 
 (* Forward lemmas with uniform slicing for local environments ***************)
 
-lemma jsx_fwd_drops_atom_sn (h) (b) (G):
-      ∀L1,L2. G ⊢ L1 ⊒[h] L2 →
-      â\88\80f. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b,f]L1 â\89\98 â\8b\86 â\86\92 â¬\87*[b,f]L2 ≘ ⋆.
-#h #b #G #L1 #L2 #H elim H -L1 -L2
+lemma jsx_fwd_drops_atom_sn (b) (G):
+      ∀L1,L2. G ⊢ L1 ⊒ L2 →
+      â\88\80f. ð\9d\90\94â\9dªfâ\9d« â\86\92 â\87©*[b,f]L1 â\89\98 â\8b\86 â\86\92 â\87©*[b,f]L2 ≘ ⋆.
+#b #G #L1 #L2 #H elim H -L1 -L2
 [ #f #_ #H //
 | #I #K1 #K2 #_ #IH #f #Hf #H
 | #I #K1 #K2 #V #_ #HV #IH #f #Hf #H
@@ -33,11 +33,11 @@ elim (drops_inv_bind1_isuni … H) -H [3,6: // |*: * -Hf ]
 ]
 qed-.
 
-lemma jsx_fwd_drops_unit_sn (h) (b) (G):
-      ∀L1,L2. G ⊢ L1 ⊒[h] L2 →
-      â\88\80f. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â\88\80I,K1. â¬\87*[b,f]L1 â\89\98 K1.â\93¤{I} →
-      ∃∃K2. G ⊢ K1 ⊒[h] K2 & ⬇*[b,f]L2 ≘ K2.ⓤ{I}.
-#h #b #G #L1 #L2 #H elim H -L1 -L2
+lemma jsx_fwd_drops_unit_sn (b) (G):
+      ∀L1,L2. G ⊢ L1 ⊒ L2 →
+      â\88\80f. ð\9d\90\94â\9dªfâ\9d« â\86\92 â\88\80I,K1. â\87©*[b,f]L1 â\89\98 K1.â\93¤[I] →
+      ∃∃K2. G ⊢ K1 ⊒ K2 & ⇩*[b,f]L2 ≘ K2.ⓤ[I].
+#b #G #L1 #L2 #H elim H -L1 -L2
 [ #f #_ #J #Y1 #H
   lapply (drops_inv_atom1 … H) -H * #H #_ destruct
 | #I #K1 #K2 #HK12 #IH #f #Hf #J #Y1 #H
@@ -47,17 +47,17 @@ elim (drops_inv_bind1_isuni … H) -H [3,6: // |*: * -Hf ]
 [1,3: #Hf #H destruct -IH /3 width=3 by drops_refl, ex2_intro/
 |2,4:
   #g #Hg #HK1 #H destruct
-  elim (IH … Hg … HK1) -K1 -Hg #Y2 #HY12 #HKY2 
+  elim (IH … Hg … HK1) -K1 -Hg #Y2 #HY12 #HKY2
   /3 width=3 by drops_drop, ex2_intro/
 ]
 qed-.
 
-lemma jsx_fwd_drops_pair_sn (h) (b) (G):
-      ∀L1,L2. G ⊢ L1 ⊒[h] L2 →
-      â\88\80f. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â\88\80I,K1,V. â¬\87*[b,f]L1 â\89\98 K1.â\93\91{I}V →
-      ∨∨ ∃∃K2. G ⊢ K1 ⊒[h] K2 & ⬇*[b,f]L2 ≘ K2.ⓑ{I}V
-       | ∃∃K2. G ⊢ K1 ⊒[h] K2 & ⬇*[b,f]L2 ≘ K2.ⓧ & G ⊢ ⬈*[h,V] 𝐒⦃K2⦄.
-#h #b #G #L1 #L2 #H elim H -L1 -L2
+lemma jsx_fwd_drops_pair_sn (b) (G):
+      ∀L1,L2. G ⊢ L1 ⊒ L2 →
+      â\88\80f. ð\9d\90\94â\9dªfâ\9d« â\86\92 â\88\80I,K1,V. â\87©*[b,f]L1 â\89\98 K1.â\93\91[I]V →
+      ∨∨ ∃∃K2. G ⊢ K1 ⊒ K2 & ⇩*[b,f]L2 ≘ K2.ⓑ[I]V
+       | ∃∃K2. G ⊢ K1 ⊒ K2 & ⇩*[b,f]L2 ≘ K2.ⓧ & G ⊢ ⬈*𝐒[V] K2.
+#b #G #L1 #L2 #H elim H -L1 -L2
 [ #f #_ #J #Y1 #X1 #H
   lapply (drops_inv_atom1 … H) -H * #H #_ destruct
 | #I #K1 #K2 #HK12 #IH #f #Hf #J #Y1 #X1 #H