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/static/frees_fqup.ma".
16 include "basic_2/static/fle.ma".
18 (* FREE VARIABLES INCLUSION FOR RESTRICTED CLOSURES *************************)
20 (* Advanced properties ******************************************************)
22 lemma fle_refl: bi_reflexive … fle.
23 #L #T elim (frees_total L T) /2 width=5 by sle_refl, ex3_2_intro/
26 lemma fle_bind_sn: ∀p,I,L,V,T. ⦃L, V⦄ ⊆ ⦃L, ⓑ{p,I}V.T⦄.
28 elim (frees_total L V) #f1 #Hf1
29 elim (frees_total (L.ⓑ{I}V) T) #f2 #Hf2
30 elim (sor_isfin_ex f1 (⫱f2)) /3 width=3 by frees_fwd_isfin, isfin_tl/ #f #Hf #_
31 /3 width=6 by frees_bind, sor_inv_sle_sn, ex3_2_intro/
34 lemma fle_flat_sn: ∀I,L,V,T. ⦃L, V⦄ ⊆ ⦃L, ⓕ{I}V.T⦄.
36 elim (frees_total L V) #f1 #Hf1
37 elim (frees_total L T) #f2 #Hf2
38 elim (sor_isfin_ex f1 f2) /2 width=3 by frees_fwd_isfin/ #f #Hf #_
39 /3 width=6 by frees_flat, sor_inv_sle_sn, ex3_2_intro/
42 lemma fle_flat_dx: ∀I,L,V,T. ⦃L, T⦄ ⊆ ⦃L, ⓕ{I}V.T⦄.
44 elim (frees_total L V) #f1 #Hf1
45 elim (frees_total L T) #f2 #Hf2
46 elim (sor_isfin_ex f1 f2) /2 width=3 by frees_fwd_isfin/ #f #Hf #_
47 /3 width=6 by frees_flat, sor_inv_sle_dx, ex3_2_intro/