]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/static_2/static/lsubc.ma
update in ground_2, static_2, basic_2, apps_2, alpha_1
[helm.git] / matita / matita / contribs / lambdadelta / static_2 / static / lsubc.ma
index d75cf87083c3b949992bbddc073f89a2f2415d48..d264460fb0a958cfc56d7f3123a6c6a9675ff286 100644 (file)
@@ -21,8 +21,8 @@ include "static_2/static/gcp_cr.ma".
 
 inductive lsubc (RP) (G): relation lenv ≝
 | lsubc_atom: lsubc RP G (⋆) (⋆)
-| lsubc_bind: ∀I,L1,L2. lsubc RP G L1 L2 → lsubc RP G (L1.ⓘ{I}) (L2.ⓘ{I})
-| lsubc_beta: â\88\80L1,L2,V,W,A. â¦\83G,L1,Vâ¦\84 Ïµ[RP] ã\80\9a\80\9b â\86\92 â¦\83G,L1,Wâ¦\84 Ïµ[RP] ã\80\9a\80\9b â\86\92 â¦\83G,L2â¦\84 ⊢ W ⁝ A →
+| lsubc_bind: ∀I,L1,L2. lsubc RP G L1 L2 → lsubc RP G (L1.ⓘ[I]) (L2.ⓘ[I])
+| lsubc_beta: â\88\80L1,L2,V,W,A. â\9dªG,L1,Vâ\9d« Ïµ â\9f¦Aâ\9f§[RP] â\86\92 â\9dªG,L1,Wâ\9d« Ïµ â\9f¦Aâ\9f§[RP] â\86\92 â\9dªG,L2â\9d« ⊢ W ⁝ A →
               lsubc RP G L1 L2 → lsubc RP G (L1. ⓓⓝW.V) (L2.ⓛW)
 .
 
@@ -44,9 +44,9 @@ qed-.
 lemma lsubc_inv_atom1: ∀RP,G,L2. G ⊢ ⋆ ⫃[RP] L2 → L2 = ⋆.
 /2 width=5 by lsubc_inv_atom1_aux/ qed-.
 
-fact lsubc_inv_bind1_aux: ∀RP,G,L1,L2. G ⊢ L1 ⫃[RP] L2 → ∀I,K1. L1 = K1.ⓘ{I} →
-                          (∃∃K2. G ⊢ K1 ⫃[RP] K2 & L2 = K2.ⓘ{I}) ∨
-                          â\88\83â\88\83K2,V,W,A. â¦\83G,K1,Vâ¦\84 Ïµ[RP] ã\80\9a\80\9b & â¦\83G,K1,Wâ¦\84 Ïµ[RP] ã\80\9a\80\9b & â¦\83G,K2â¦\84 ⊢ W ⁝ A &
+fact lsubc_inv_bind1_aux: ∀RP,G,L1,L2. G ⊢ L1 ⫃[RP] L2 → ∀I,K1. L1 = K1.ⓘ[I] →
+                          (∃∃K2. G ⊢ K1 ⫃[RP] K2 & L2 = K2.ⓘ[I]) ∨
+                          â\88\83â\88\83K2,V,W,A. â\9dªG,K1,Vâ\9d« Ïµ â\9f¦Aâ\9f§[RP] & â\9dªG,K1,Wâ\9d« Ïµ â\9f¦Aâ\9f§[RP] & â\9dªG,K2â\9d« ⊢ W ⁝ A &
                                       G ⊢ K1 ⫃[RP] K2 &
                                       L2 = K2. ⓛW & I = BPair Abbr (ⓝW.V).
 #RP #G #L1 #L2 * -L1 -L2
@@ -58,9 +58,9 @@ fact lsubc_inv_bind1_aux: ∀RP,G,L1,L2. G ⊢ L1 ⫃[RP] L2 → ∀I,K1. L1 = K
 qed-.
 
 (* Basic_1: was: csubc_gen_head_r *)
-lemma lsubc_inv_bind1: ∀RP,I,G,K1,L2. G ⊢ K1.ⓘ{I} ⫃[RP] L2 →
-                       (∃∃K2. G ⊢ K1 ⫃[RP] K2 & L2 = K2.ⓘ{I}) ∨
-                       â\88\83â\88\83K2,V,W,A. â¦\83G,K1,Vâ¦\84 Ïµ[RP] ã\80\9a\80\9b & â¦\83G,K1,Wâ¦\84 Ïµ[RP] ã\80\9a\80\9b & â¦\83G,K2â¦\84 ⊢ W ⁝ A &
+lemma lsubc_inv_bind1: ∀RP,I,G,K1,L2. G ⊢ K1.ⓘ[I] ⫃[RP] L2 →
+                       (∃∃K2. G ⊢ K1 ⫃[RP] K2 & L2 = K2.ⓘ[I]) ∨
+                       â\88\83â\88\83K2,V,W,A. â\9dªG,K1,Vâ\9d« Ïµ â\9f¦Aâ\9f§[RP] & â\9dªG,K1,Wâ\9d« Ïµ â\9f¦Aâ\9f§[RP] & â\9dªG,K2â\9d« ⊢ W ⁝ A &
                                    G ⊢ K1 ⫃[RP] K2 &
                                    L2 = K2.ⓛW & I = BPair Abbr (ⓝW.V).
 /2 width=3 by lsubc_inv_bind1_aux/ qed-.
@@ -77,9 +77,9 @@ qed-.
 lemma lsubc_inv_atom2: ∀RP,G,L1. G ⊢ L1 ⫃[RP] ⋆ → L1 = ⋆.
 /2 width=5 by lsubc_inv_atom2_aux/ qed-.
 
-fact lsubc_inv_bind2_aux: ∀RP,G,L1,L2. G ⊢ L1 ⫃[RP] L2 → ∀I,K2. L2 = K2.ⓘ{I} →
-                          (∃∃K1. G ⊢ K1 ⫃[RP] K2 & L1 = K1. ⓘ{I}) ∨
-                          â\88\83â\88\83K1,V,W,A. â¦\83G,K1,Vâ¦\84 Ïµ[RP] ã\80\9a\80\9b & â¦\83G,K1,Wâ¦\84 Ïµ[RP] ã\80\9a\80\9b & â¦\83G,K2â¦\84 ⊢ W ⁝ A &
+fact lsubc_inv_bind2_aux: ∀RP,G,L1,L2. G ⊢ L1 ⫃[RP] L2 → ∀I,K2. L2 = K2.ⓘ[I] →
+                          (∃∃K1. G ⊢ K1 ⫃[RP] K2 & L1 = K1. ⓘ[I]) ∨
+                          â\88\83â\88\83K1,V,W,A. â\9dªG,K1,Vâ\9d« Ïµ â\9f¦Aâ\9f§[RP] & â\9dªG,K1,Wâ\9d« Ïµ â\9f¦Aâ\9f§[RP] & â\9dªG,K2â\9d« ⊢ W ⁝ A &
                                       G ⊢ K1 ⫃[RP] K2 &
                                       L1 = K1.ⓓⓝW.V & I = BPair Abst W.
 #RP #G #L1 #L2 * -L1 -L2
@@ -91,9 +91,9 @@ fact lsubc_inv_bind2_aux: ∀RP,G,L1,L2. G ⊢ L1 ⫃[RP] L2 → ∀I,K2. L2 = K
 qed-.
 
 (* Basic_1: was just: csubc_gen_head_l *)
-lemma lsubc_inv_bind2: ∀RP,I,G,L1,K2. G ⊢ L1 ⫃[RP] K2.ⓘ{I} →
-                       (∃∃K1. G ⊢ K1 ⫃[RP] K2 & L1 = K1.ⓘ{I}) ∨
-                       â\88\83â\88\83K1,V,W,A. â¦\83G,K1,Vâ¦\84 Ïµ[RP] ã\80\9a\80\9b & â¦\83G,K1,Wâ¦\84 Ïµ[RP] ã\80\9a\80\9b & â¦\83G,K2â¦\84 ⊢ W ⁝ A &
+lemma lsubc_inv_bind2: ∀RP,I,G,L1,K2. G ⊢ L1 ⫃[RP] K2.ⓘ[I] →
+                       (∃∃K1. G ⊢ K1 ⫃[RP] K2 & L1 = K1.ⓘ[I]) ∨
+                       â\88\83â\88\83K1,V,W,A. â\9dªG,K1,Vâ\9d« Ïµ â\9f¦Aâ\9f§[RP] & â\9dªG,K1,Wâ\9d« Ïµ â\9f¦Aâ\9f§[RP] & â\9dªG,K2â\9d« ⊢ W ⁝ A &
                                    G ⊢ K1 ⫃[RP] K2 &
                                    L1 = K1.ⓓⓝW.V & I = BPair Abst W.
 /2 width=3 by lsubc_inv_bind2_aux/ qed-.