]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/unwind/sstas_lift.ma
- lambdadelta: we removed focalized reduction from snv preservation
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / unwind / sstas_lift.ma
index ea4b303ef821d81d44358ca79e3555bd648dc2fb..e8ba22729c74a568962c1fc1cb47c838658e3934 100644 (file)
@@ -17,6 +17,16 @@ include "basic_2/unwind/sstas.ma".
 
 (* ITERATED STRATIFIED STATIC TYPE ASSIGNMENT FOR TERMS *********************)
 
+(* Advanced forward lemmas **************************************************)
+
+lemma sstas_fwd_correct: ∀h,g,L,T1,U1,l1. ⦃h, L⦄ ⊢ T1 •[g, l1] U1 →
+                         ∀T2. ⦃h, L⦄ ⊢ T1 •*[g] T2 →
+                         ∃∃U2,l2. ⦃h, L⦄ ⊢ T2 •[g, l2] U2.
+#h #g #L #T1 #U1 #l1 #HTU1 #T2 #H @(sstas_ind … H) -T2 [ /2 width=3/ ] -HTU1
+#T #T2 #l #_ #HT2 * #U #l0 #_ -l0
+elim (ssta_fwd_correct … HT2) -T /2 width=3/
+qed-.
+
 (* Properties on relocation *************************************************)
 
 lemma sstas_lift: ∀h,g,L1,T1,U1. ⦃h, L1⦄ ⊢ T1 •*[g] U1 →