]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/dynamic/lsubsv_lsuba.ma
update in basic_2 and ground_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / dynamic / lsubsv_lsuba.ma
index d542b686bfe2c51d7eb2271e671dad3b0351bf9d..51d4902222b92e15ae86687bc04448c028340c0a 100644 (file)
 (*                                                                        *)
 (**************************************************************************)
 
+include "basic_2/equivalence/scpes_aaa.ma".
 include "basic_2/dynamic/snv_aaa.ma".
 include "basic_2/dynamic/lsubsv.ma".
 
 (* LOCAL ENVIRONMENT REFINEMENT FOR STRATIFIED NATIVE VALIDITY **************)
 
-(* Properties on local environment refinement for atomic arity assignment ***)
-(*
-lamma 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/
+(* Forward lemmas on lenv refinement for atomic arity assignment ************)
+
+lemma lsubsv_fwd_lsuba: ∀h,o,G,L1,L2. G ⊢ L1 ⫃¡[h, o] L2 → G ⊢ L1 ⫃⁝ L2.
+#h #o #G #L1 #L2 #H elim H -L1 -L2 /2 width=1 by lsuba_pair/
+#L1 #L2 #W #V #d1 #H #_ #_ #_ #_ #IHL12
+elim (shnv_inv_cast … H) -H #HW #HV #H
+lapply (H 0 ?) // -d1 #HWV
+elim (snv_fwd_aaa … HW) -HW #B #HW
+elim (snv_fwd_aaa … HV) -HV #A #HV
+lapply (scpes_aaa_mono … HWV … HW … HV) #H destruct
+/4 width=5 by lsuba_aaa_conf, lsuba_beta, aaa_cast/
 qed-.
-*)