(* *)
(**************************************************************************)
+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/lfdeq.ma".
(* DEGREE-BASED EQUIVALENCE FOR LOCAL ENVIRONMENTS ON REFERRED ENTRIES ******)
-(* Forward lemmas with length for local environments ************************)
+(* Advanved properties ******************************************************)
-(* 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_fle_comp: ∀h,o. lfxs_fle_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 ****************************)
∀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 ************************)
+
+(* 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-.
+