X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Flsubsv_lsuba.ma;h=51d4902222b92e15ae86687bc04448c028340c0a;hb=b634a816745cf8a9a7ad14650d088232c8ee1a1a;hp=7928373cf8bd48e96c2d82ac6fb7870152d56bbf;hpb=603c8b3cdab901c26f63b5fed2c65e49693cc9a3;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/lsubsv_lsuba.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/lsubsv_lsuba.ma index 7928373cf..51d490222 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/lsubsv_lsuba.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/lsubsv_lsuba.ma @@ -12,19 +12,21 @@ (* *) (**************************************************************************) +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 ***) +(* 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,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-.