]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/dynamic/snv_cpcs.ma
- lambdadelta: third recursive part of preservation finally proved!
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / dynamic / snv_cpcs.ma
index 1d5f93c49dc5c227129c1dee242c7523eaddca8e..12c2bf8f5402b87926b7ed84403f4cc005afa116 100644 (file)
 (**************************************************************************)
 
 include "basic_2/unwind/sstas_sstas.ma".
-include "basic_2/computation/ygt.ma".
 include "basic_2/equivalence/cpcs_ltpr.ma".
 include "basic_2/dynamic/snv_ltpss_dx.ma".
 include "basic_2/dynamic/snv_sstas.ma".
+include "basic_2/dynamic/ygt.ma".
 
 (* STRATIFIED NATIVE VALIDITY FOR TERMS *************************************)
 
@@ -36,6 +36,12 @@ definition IH_snv_ssta: ∀h:sh. sd h → relation2 lenv term ≝
                         λh,g,L1,T1. ⦃h, L1⦄ ⊩ T1 :[g] →
                         ∀U1,l. ⦃h, L1⦄ ⊢ T1 •[g, l + 1] U1 → ⦃h, L1⦄ ⊩ U1 :[g].
 
+(* Properties for the preservation results **********************************)
+
+definition IH_snv_lsubsv: ∀h:sh. sd h → relation2 lenv term ≝
+                          λh,g,L2,T. ⦃h, L2⦄ ⊩ T :[g] →
+                          ∀L1. h ⊢ L1 ⊩:⊑[g] L2 → ⦃h, L1⦄ ⊩ T :[g].
+
 fact snv_ltpr_cpr_aux: ∀h,g,L1,T1. IH_snv_ltpr_tpr h g L1 T1 →
                        ⦃h, L1⦄ ⊩ T1 :[g] →
                        ∀L2. L1 ➡ L2 → ∀T2. L2 ⊢ T1 ➡ T2 → ⦃h, L2⦄ ⊩ T2 :[g].