(* LOCAL ENVIRONMENT REFINEMENT FOR STRATIFIED NATIVE VALIDITY **************)
-(* Properties on local environment refinement for atomic arity assignment ***)
+(* Forward lemmas on lenv refinement for atomic arity assignment ************)
-lemma lsubsv_fwd_lsuba: ∀h,g,L1,L2. h ⊢ L1 ¡⊑[g] L2 → L1 ⁝⊑ L2.
-#h #g #L1 #L2 #H elim H -L1 -L2 // /2 width=1/
-#L1 #L2 #V1 #V2 #W1 #W2 #l #HV1 #HVW1 #HW12 #HW2 #_ #_ #HL12
-elim (snv_fwd_aaa … HV1) -HV1 #A #HV1
-elim (snv_fwd_aaa … HW2) -HW2 #B #HW2
-lapply (ssta_aaa … HV1 … HVW1) -HVW1 #H1
-lapply (lsuba_aaa_trans … HW2 … HL12) #H2
-lapply (aaa_cpcs_mono … HW12 … H1 … H2) -W1 -H2 #H destruct /2 width=3/
+lemma lsubsv_fwd_lsuba: ∀h,g,G,L1,L2. G ⊢ L1 ¡⊑[h, g] L2 → G ⊢ L1 ⁝⊑ L2.
+#h #g #G #L1 #L2 #H elim H -L1 -L2 // /2 width=1/
+#L1 #L2 #W #V #l #H1W #HV #HVW #H2W #H1l #_ #_ #IHL12
+lapply (snv_scast … HV H1W HVW H1l) -HV -H1W -HVW -H1l #HV
+elim (snv_fwd_aaa … HV) -HV #A #HV
+elim (snv_fwd_aaa … H2W) -H2W #B #HW
+elim (aaa_inv_cast … HV) #HWA #_
+lapply (lsuba_aaa_trans … HW … IHL12) #HWB
+lapply (aaa_mono … HWB … HWA) -HWB -HWA #H destruct /2 width=3/
qed-.