]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/static_2/static/frees.ma
partial commit in static_2
[helm.git] / matita / matita / contribs / lambdadelta / static_2 / static / frees.ma
index 887703487aaaef9bbee50c968015d91d306ccf71..90155762bc9ca1dd8851f34027abafd691cd1ae8 100644 (file)
@@ -18,7 +18,7 @@ include "static_2/syntax/lenv.ma".
 
 (* CONTEXT-SENSITIVE FREE VARIABLES *****************************************)
 
-inductive frees: relation3 lenv term rtmap ≝
+inductive frees: relation3 lenv term pr_map ≝
 | frees_sort: ∀f,L,s. 𝐈❪f❫ → frees L (⋆s) f
 | frees_atom: ∀f,i. 𝐈❪f❫ → frees (⋆) (#i) (⫯*[i]↑f)
 | frees_pair: ∀f,I,L,V. frees L V f →
@@ -28,7 +28,7 @@ inductive frees: relation3 lenv term rtmap ≝
               frees (L.ⓘ[I]) (#↑i) (⫯f)
 | frees_gref: ∀f,L,l. 𝐈❪f❫ → frees L (§l) f
 | frees_bind: ∀f1,f2,f,p,I,L,V,T. frees L V f1 → frees (L.ⓑ[I]V) T f2 →
-              f1 â\8b\93 â«±f2 ≘ f → frees L (ⓑ[p,I]V.T) f
+              f1 â\8b\93 â«°f2 ≘ f → frees L (ⓑ[p,I]V.T) f
 | frees_flat: ∀f1,f2,f,I,L,V,T. frees L V f1 → frees L T f2 →
               f1 ⋓ f2 ≘ f → frees L (ⓕ[I]V.T) f
 .
@@ -143,7 +143,7 @@ lemma frees_inv_gref: ∀f,L,l. L ⊢ 𝐅+❪§l❫ ≘ f → 𝐈❪f❫.
 
 fact frees_inv_bind_aux:
      ∀f,L,X. L ⊢ 𝐅+❪X❫ ≘ f → ∀p,I,V,T. X = ⓑ[p,I]V.T →
-     â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85\9dªVâ\9d« â\89\98 f1 & L.â\93\91[I]V â\8a¢ ð\9d\90\85\9dªTâ\9d« â\89\98 f2 & f1 â\8b\93 â«±f2 ≘ f.
+     â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85\9dªVâ\9d« â\89\98 f1 & L.â\93\91[I]V â\8a¢ ð\9d\90\85\9dªTâ\9d« â\89\98 f2 & f1 â\8b\93 â«°f2 ≘ f.
 #f #L #X * -f -L -X
 [ #f #L #s #_ #q #J #W #U #H destruct
 | #f #i #_ #q #J #W #U #H destruct
@@ -158,7 +158,7 @@ qed-.
 
 lemma frees_inv_bind:
       ∀f,p,I,L,V,T. L ⊢ 𝐅+❪ⓑ[p,I]V.T❫ ≘ f →
-      â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85\9dªVâ\9d« â\89\98 f1 & L.â\93\91[I]V â\8a¢ ð\9d\90\85\9dªTâ\9d« â\89\98 f2 & f1 â\8b\93 â«±f2 ≘ f.
+      â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85\9dªVâ\9d« â\89\98 f1 & L.â\93\91[I]V â\8a¢ ð\9d\90\85\9dªTâ\9d« â\89\98 f2 & f1 â\8b\93 â«°f2 ≘ f.
 /2 width=4 by frees_inv_bind_aux/ qed-.
 
 fact frees_inv_flat_aux: ∀f,L,X. L ⊢ 𝐅+❪X❫ ≘ f → ∀I,V,T. X = ⓕ[I]V.T →
@@ -182,29 +182,29 @@ lemma frees_inv_flat:
 
 (* Basic properties ********************************************************)
 
-lemma frees_eq_repl_back: ∀L,T. eq_repl_back … (λf. L ⊢ 𝐅+❪T❫ ≘ f).
+lemma frees_eq_repl_back: ∀L,T. pr_eq_repl_back … (λf. L ⊢ 𝐅+❪T❫ ≘ f).
 #L #T #f1 #H elim H -f1 -L -T
-[ /3 width=3 by frees_sort, isid_eq_repl_back/
+[ /3 width=3 by frees_sort, pr_isi_eq_repl_back/
 | #f1 #i #Hf1 #g2 #H
-  elim (eq_inv_pushs_sn … H) -H #g #Hg #H destruct
+  elim (pr_eq_inv_pushs_sn … H) -H #g #Hg #H destruct
   elim (eq_inv_nx … Hg) -Hg
-  /3 width=3 by frees_atom, isid_eq_repl_back/
+  /3 width=3 by frees_atom, pr_isi_eq_repl_back/
 | #f1 #I #L #V #_ #IH #g2 #H
   elim (eq_inv_nx … H) -H
   /3 width=3 by frees_pair/
 | #f1 #I #L #Hf1 #g2 #H
   elim (eq_inv_nx … H) -H
-  /3 width=3 by frees_unit, isid_eq_repl_back/
+  /3 width=3 by frees_unit, pr_isi_eq_repl_back/
 | #f1 #I #L #i #_ #IH #g2 #H
   elim (eq_inv_px … H) -H /3 width=3 by frees_lref/
-| /3 width=3 by frees_gref, isid_eq_repl_back/
-| /3 width=7 by frees_bind, sor_eq_repl_back3/
-| /3 width=7 by frees_flat, sor_eq_repl_back3/
+| /3 width=3 by frees_gref, pr_isi_eq_repl_back/
+| /3 width=7 by frees_bind, pr_sor_eq_repl_back/
+| /3 width=7 by frees_flat, pr_sor_eq_repl_back/
 ]
 qed-.
 
-lemma frees_eq_repl_fwd: ∀L,T. eq_repl_fwd … (λf. L ⊢ 𝐅+❪T❫ ≘ f).
-#L #T @eq_repl_sym /2 width=3 by frees_eq_repl_back/
+lemma frees_eq_repl_fwd: ∀L,T. pr_eq_repl_fwd … (λf. L ⊢ 𝐅+❪T❫ ≘ f).
+#L #T @pr_eq_repl_sym /2 width=3 by frees_eq_repl_back/
 qed-.
 
 lemma frees_lref_push: ∀f,i. ⋆ ⊢ 𝐅+❪#i❫ ≘ f → ⋆ ⊢ 𝐅+❪#↑i❫ ≘ ⫯f.
@@ -217,7 +217,7 @@ qed.
 
 lemma frees_fwd_isfin: ∀f,L,T. L ⊢ 𝐅+❪T❫ ≘ f → 𝐅❪f❫.
 #f #L #T #H elim H -f -L -T
-/4 width=5 by sor_isfin, isfin_isid, isfin_tl, isfin_pushs, isfin_push, isfin_next/
+/4 width=5 by pr_sor_inv_isf_bi, pr_isf_isi, pr_isf_tl, pr_isf_pushs, pr_isf_push, pr_isf_next/
 qed-.
 
 (* Basic_2A1: removed theorems 30: