]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/static/lfdeq_length.ma
update in ground_2 and basic_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / static / lfdeq_length.ma
index 8221e2ed86e2c128430ccf7fdae7e20dff5a8b87..bf2f11a47b6e1681c326895e9ed366d823661e9f 100644 (file)
 (*                                                                        *)
 (**************************************************************************)
 
+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 ******)
 
-(* Forward lemmas with length for local environments ************************)
+(* Advanved properties with free variables inclusion ************************)
 
-(* 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-.
+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: â\88\80L1,L2. |L1| = |L2| â\86\92 â\88\80h,o,K1,K2,T. K1 â\89¡[h, o, T] K2 →
+lemma lfdeq_lifts_bi: â\88\80L1,L2. |L1| = |L2| â\86\92 â\88\80h,o,K1,K2,T. K1 â\89\9b[h, o, T] K2 →
                       ∀b,f. ⬇*[b, f] L1 ≡ K1 → ⬇*[b, f] L2 ≡ K2 →
-                      â\88\80U. â¬\86*[f] T â\89¡ U â\86\92 L1 â\89¡[h, o, U] L2.
+                      â\88\80U. â¬\86*[f] T â\89¡ U â\86\92 L1 â\89\9b[h, o, U] L2.
 /3 width=9 by lfxs_lifts_bi, tdeq_lifts_sn/ qed-.
+
+(* Forward lemmas with length for local environments ************************)
+
+(* 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-.
+