1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 include "basic_2/relocation/lexs_length.ma".
16 include "basic_2/static/frees_fqup.ma".
17 include "basic_2/static/fid.ma".
18 include "basic_2/static/lfeq.ma".
20 (* SYNTACTIC EQUIVALENCE FOR LOCAL ENVIRONMENTS ON REFERRED ENTRIES *********)
22 (* properties with free variables identity for restricted closures **********)
24 lemma fid_lfeq: ∀L1,L2. |L1| = |L2| → ∀T. 𝐈⦃L1, T⦄ → L1 ≡[T] L2.
26 elim (frees_total L1 T) #f #Hf
27 /4 width=3 by lexs_length_isid, ex2_intro/
30 (* Advanced properties with free variables identity for restricted closures *)
32 lemma fid_length: ∀L1,L2. |L1| = |L2| → ∀T. 𝐈⦃L1, T⦄ → 𝐈⦃L2, T⦄.
33 #L1 #L2 #HL #T #HT #g #Hg
34 elim (frees_total L1 T) #f #Hf
35 lapply (frees_mono f … Hg) -Hg
36 [ /3 width=4 by fid_lfeq, frees_lfeq_conf/
37 | /3 width=3 by isid_eq_repl_back/