]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/static_2/static/frees_fqup.ma
more additions and corrections for the article
[helm.git] / matita / matita / contribs / lambdadelta / static_2 / static / frees_fqup.ma
index abaf4ff15945e715dcbe7d2c48e23b758488048f..feb74eb263f4fc3d49639e1d98d91c8c9b114005 100644 (file)
@@ -20,7 +20,7 @@ include "static_2/static/lsubf_lsubr.ma".
 (* Advanced properties ******************************************************)
 
 (* Note: this replaces lemma 1400 concluding the "big tree" theorem *)
-lemma frees_total: โˆ€L,T. โˆƒf. L โŠข ๐…*โฆƒTโฆ„ โ‰˜ f.
+lemma frees_total: โˆ€L,T. โˆƒf. L โŠข ๐…+โฆƒTโฆ„ โ‰˜ f.
 #L #T @(fqup_wf_ind_eq (โ“‰) โ€ฆ (โ‹†) L T) -L -T
 #G0 #L0 #T0 #IH #G #L * *
 [ /3 width=2 by frees_sort, ex_intro/
@@ -51,8 +51,9 @@ qed-.
 
 (* Advanced main properties *************************************************)
 
-theorem frees_bind_void: โˆ€f1,L,V. L โŠข ๐…*โฆƒVโฆ„ โ‰˜ f1 โ†’ โˆ€f2,T. L.โ“ง โŠข ๐…*โฆƒTโฆ„ โ‰˜ f2 โ†’
-                         โˆ€f. f1 โ‹“ โซฑf2 โ‰˜ f โ†’ โˆ€p,I. L โŠข ๐…*โฆƒโ“‘{p,I}V.Tโฆ„ โ‰˜ f.
+theorem frees_bind_void:
+        โˆ€f1,L,V. L โŠข ๐…+โฆƒVโฆ„ โ‰˜ f1 โ†’ โˆ€f2,T. L.โ“ง โŠข ๐…+โฆƒTโฆ„ โ‰˜ f2 โ†’
+        โˆ€f. f1 โ‹“ โซฑf2 โ‰˜ f โ†’ โˆ€p,I. L โŠข ๐…+โฆƒโ“‘{p,I}V.Tโฆ„ โ‰˜ f.
 #f1 #L #V #Hf1 #f2 #T #Hf2 #f #Hf #p #I
 elim (frees_total (L.โ“‘{I}V) T) #f0 #Hf0
 lapply (lsubr_lsubf โ€ฆ Hf2 โ€ฆ Hf0) -Hf2 /2 width=5 by lsubr_unit/ #H02
@@ -78,8 +79,9 @@ qed-.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma frees_inv_bind_void: โˆ€f,p,I,L,V,T. L โŠข ๐…*โฆƒโ“‘{p,I}V.Tโฆ„ โ‰˜ f โ†’
-                           โˆƒโˆƒf1,f2. L โŠข ๐…*โฆƒVโฆ„ โ‰˜ f1 & L.โ“ง โŠข ๐…*โฆƒTโฆ„ โ‰˜ f2 & f1 โ‹“ โซฑf2 โ‰˜ f.
+lemma frees_inv_bind_void:
+      โˆ€f,p,I,L,V,T. L โŠข ๐…+โฆƒโ“‘{p,I}V.Tโฆ„ โ‰˜ f โ†’
+      โˆƒโˆƒf1,f2. L โŠข ๐…+โฆƒVโฆ„ โ‰˜ f1 & L.โ“ง โŠข ๐…+โฆƒTโฆ„ โ‰˜ f2 & f1 โ‹“ โซฑf2 โ‰˜ f.
 #f #p #I #L #V #T #H
 elim (frees_inv_bind โ€ฆ H) -H #f1 #f2 #Hf1 #Hf2 #Hf
 elim (frees_total (L.โ“ง) T) #f0 #Hf0
@@ -100,31 +102,31 @@ elim (pn_split f0) * #g0 #H destruct
 ]
 qed-.
 
-lemma frees_ind_void: โˆ€Q:relation3 โ€ฆ.
-                      (
-                         โˆ€f,L,s. ๐ˆโฆƒfโฆ„ โ†’  Q L (โ‹†s) f
-                      ) โ†’ (
-                         โˆ€f,i. ๐ˆโฆƒfโฆ„ โ†’  Q (โ‹†) (#i) (โซฏ*[i]โ†‘f)
-                      ) โ†’ (
-                         โˆ€f,I,L,V.
-                         L โŠข ๐…*โฆƒVโฆ„ โ‰˜ f โ†’  Q L V fโ†’ Q (L.โ“‘{I}V) (#O) (โ†‘f) 
-                      ) โ†’ (
-                         โˆ€f,I,L. ๐ˆโฆƒfโฆ„ โ†’  Q (L.โ“ค{I}) (#O) (โ†‘f)
-                      ) โ†’ (
-                         โˆ€f,I,L,i.
-                         L โŠข ๐…*โฆƒ#iโฆ„ โ‰˜ f โ†’  Q L (#i) f โ†’ Q (L.โ“˜{I}) (#(โ†‘i)) (โซฏf)
-                      ) โ†’ (
-                         โˆ€f,L,l. ๐ˆโฆƒfโฆ„ โ†’  Q L (ยงl) f
-                      ) โ†’ (
-                         โˆ€f1,f2,f,p,I,L,V,T.
-                         L โŠข ๐…*โฆƒVโฆ„ โ‰˜ f1 โ†’ L.โ“ง โŠข๐…*โฆƒTโฆ„โ‰˜ f2 โ†’ f1 โ‹“ โซฑf2 โ‰˜ f โ†’
-                         Q L V f1 โ†’ Q (L.โ“ง) T f2 โ†’ Q L (โ“‘{p,I}V.T) f
-                      ) โ†’ (
-                         โˆ€f1,f2,f,I,L,V,T.
-                         L โŠข ๐…*โฆƒVโฆ„ โ‰˜ f1 โ†’ L โŠข๐…*โฆƒTโฆ„ โ‰˜ f2 โ†’ f1 โ‹“ f2 โ‰˜ f โ†’
-                         Q L V f1 โ†’ Q L T f2 โ†’ Q L (โ“•{I}V.T) f
-                      ) โ†’
-                      โˆ€L,T,f. L โŠข ๐…*โฆƒTโฆ„ โ‰˜ f โ†’  Q L T f.
+lemma frees_ind_void (Q:relation3 โ€ฆ):
+      (
+        โˆ€f,L,s. ๐ˆโฆƒfโฆ„ โ†’  Q L (โ‹†s) f
+      ) โ†’ (
+        โˆ€f,i. ๐ˆโฆƒfโฆ„ โ†’  Q (โ‹†) (#i) (โซฏ*[i]โ†‘f)
+      ) โ†’ (
+        โˆ€f,I,L,V.
+        L โŠข ๐…+โฆƒVโฆ„ โ‰˜ f โ†’  Q L V fโ†’ Q (L.โ“‘{I}V) (#O) (โ†‘f) 
+      ) โ†’ (
+        โˆ€f,I,L. ๐ˆโฆƒfโฆ„ โ†’  Q (L.โ“ค{I}) (#O) (โ†‘f)
+      ) โ†’ (
+        โˆ€f,I,L,i.
+        L โŠข ๐…+โฆƒ#iโฆ„ โ‰˜ f โ†’  Q L (#i) f โ†’ Q (L.โ“˜{I}) (#(โ†‘i)) (โซฏf)
+      ) โ†’ (
+        โˆ€f,L,l. ๐ˆโฆƒfโฆ„ โ†’  Q L (ยงl) f
+      ) โ†’ (
+        โˆ€f1,f2,f,p,I,L,V,T.
+        L โŠข ๐…+โฆƒVโฆ„ โ‰˜ f1 โ†’ L.โ“ง โŠข๐…+โฆƒTโฆ„โ‰˜ f2 โ†’ f1 โ‹“ โซฑf2 โ‰˜ f โ†’
+        Q L V f1 โ†’ Q (L.โ“ง) T f2 โ†’ Q L (โ“‘{p,I}V.T) f
+      ) โ†’ (
+        โˆ€f1,f2,f,I,L,V,T.
+        L โŠข ๐…+โฆƒVโฆ„ โ‰˜ f1 โ†’ L โŠข๐…+โฆƒTโฆ„ โ‰˜ f2 โ†’ f1 โ‹“ f2 โ‰˜ f โ†’
+        Q L V f1 โ†’ Q L T f2 โ†’ Q L (โ“•{I}V.T) f
+      ) โ†’
+      โˆ€L,T,f. L โŠข ๐…+โฆƒTโฆ„ โ‰˜ f โ†’  Q L T f.
 #Q #IH1 #IH2 #IH3 #IH4 #IH5 #IH6 #IH7 #IH8 #L #T
 @(fqup_wf_ind_eq (โ’ป) โ€ฆ (โ‹†) L T) -L -T #G0 #L0 #T0 #IH #G #L * *
 [ #s #HG #HL #HT #f #H destruct -IH