X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fstatic%2Flfdeq_length.ma;h=bf2f11a47b6e1681c326895e9ed366d823661e9f;hb=990f97071a9939d47be16b36f6045d3b23f218e0;hp=d7c04b6ec3e919972b752958f6487ccc6d0ccb60;hpb=b4b5f03ffca4f250a1dc02f277b70e4f33ac8a9b;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/static/lfdeq_length.ma b/matita/matita/contribs/lambdadelta/basic_2/static/lfdeq_length.ma index d7c04b6ec..bf2f11a47 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/static/lfdeq_length.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/static/lfdeq_length.ma @@ -12,12 +12,34 @@ (* *) (**************************************************************************) +include "basic_2/syntax/lveq_length.ma". +include "basic_2/relocation/lifts_tdeq.ma". include "basic_2/static/lfxs_length.ma". +include "basic_2/static/lfxs_fsle.ma". include "basic_2/static/lfdeq.ma". (* DEGREE-BASED EQUIVALENCE FOR LOCAL ENVIRONMENTS ON REFERRED ENTRIES ******) +(* Advanved properties with free variables inclusion ************************) + +lemma lfdeq_fsle_comp: ∀h,o. lfxs_fsle_compatible (cdeq h o). +#h #o #L1 #L2 #T * #f1 #Hf1 #HL12 +lapply (frees_lfdeq_conf h o … Hf1 … HL12) +lapply (lexs_fwd_length … HL12) +/3 width=8 by lveq_length_eq, ex4_4_intro/ (**) (* full auto fails *) +qed-. + +(* Properties with length for local environments ****************************) + +(* Basic_2A1: uses: lleq_lift_le lleq_lift_ge *) +lemma lfdeq_lifts_bi: ∀L1,L2. |L1| = |L2| → ∀h,o,K1,K2,T. K1 ≛[h, o, T] K2 → + ∀b,f. ⬇*[b, f] L1 ≡ K1 → ⬇*[b, f] L2 ≡ K2 → + ∀U. ⬆*[f] T ≡ U → L1 ≛[h, o, U] L2. +/3 width=9 by lfxs_lifts_bi, tdeq_lifts_sn/ qed-. + (* Forward lemmas with length for local environments ************************) -lemma lfdeq_fwd_length: ∀h,o,L1,L2. ∀T:term. L1 ≡[h, o, T] L2 → |L1| = |L2|. +(* Basic_2A1: lleq_fwd_length *) +lemma lfdeq_fwd_length: ∀h,o,L1,L2. ∀T:term. L1 ≛[h, o, T] L2 → |L1| = |L2|. /2 width=3 by lfxs_fwd_length/ qed-. +