]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambda_delta/basic_2/static/aaa.ma
- one axiom removed from sd
[helm.git] / matita / matita / contribs / lambda_delta / basic_2 / static / aaa.ma
index 59e110db23ba39d7801147793aad752302316082..7b4813491846a0fcd3b7ebfc335bbc37e0cee1cf 100644 (file)
@@ -20,12 +20,12 @@ include "basic_2/substitution/ldrop.ma".
 inductive aaa: lenv → term → predicate aarity ≝
 | aaa_sort: ∀L,k. aaa L (⋆k) ⓪
 | aaa_lref: ∀I,L,K,V,B,i. ⇩[0, i] L ≡ K. ⓑ{I} V → aaa K V B → aaa L (#i) B
-| aaa_abbr: ∀L,V,T,B,A.
-            aaa L V B → aaa (L. ⓓV) T A → aaa L (ⓓV. T) A
-| aaa_abst: ∀L,V,T,B,A.
-            aaa L V B → aaa (L. ⓛV) T A → aaa L (ⓛV. T) (②B. A)
+| aaa_abbr: ∀a,L,V,T,B,A.
+            aaa L V B → aaa (L. ⓓV) T A → aaa L (ⓓ{a}V. T) A
+| aaa_abst: ∀a,L,V,T,B,A.
+            aaa L V B → aaa (L. ⓛV) T A → aaa L (ⓛ{a}V. T) (②B. A)
 | aaa_appl: ∀L,V,T,B,A. aaa L V B → aaa L T (②B. A) → aaa L (ⓐV. T) A
-| aaa_cast: â\88\80L,V,T,A. aaa L V A â\86\92 aaa L T A â\86\92 aaa L (â\93£V. T) A
+| aaa_cast: â\88\80L,V,T,A. aaa L V A â\86\92 aaa L T A â\86\92 aaa L (â\93\9dV. T) A
 .
 
 interpretation "atomic arity assignment (term)"
@@ -37,8 +37,8 @@ fact aaa_inv_sort_aux: ∀L,T,A. L ⊢ T ⁝ A → ∀k. T = ⋆k → A = ⓪.
 #L #T #A * -L -T -A
 [ //
 | #I #L #K #V #B #i #_ #_ #k #H destruct
-| #L #V #T #B #A #_ #_ #k #H destruct
-| #L #V #T #B #A #_ #_ #k #H destruct
+| #a #L #V #T #B #A #_ #_ #k #H destruct
+| #a #L #V #T #B #A #_ #_ #k #H destruct
 | #L #V #T #B #A #_ #_ #k #H destruct
 | #L #V #T #A #_ #_ #k #H destruct
 ]
@@ -52,8 +52,8 @@ fact aaa_inv_lref_aux: ∀L,T,A. L ⊢ T ⁝ A → ∀i. T = #i →
 #L #T #A * -L -T -A
 [ #L #k #i #H destruct
 | #I #L #K #V #B #j #HLK #HB #i #H destruct /2 width=5/
-| #L #V #T #B #A #_ #_ #i #H destruct
-| #L #V #T #B #A #_ #_ #i #H destruct
+| #a #L #V #T #B #A #_ #_ #i #H destruct
+| #a #L #V #T #B #A #_ #_ #i #H destruct
 | #L #V #T #B #A #_ #_ #i #H destruct
 | #L #V #T #A #_ #_ #i #H destruct
 ]
@@ -63,45 +63,45 @@ lemma aaa_inv_lref: ∀L,A,i. L ⊢ #i ⁝ A →
                     ∃∃I,K,V. ⇩[0, i] L ≡ K. ⓑ{I} V & K ⊢ V ⁝ A.
 /2 width=3/ qed-.
 
-fact aaa_inv_abbr_aux: ∀L,T,A. L ⊢ T ⁝ A → ∀W,U. T = ⓓW. U →
+fact aaa_inv_abbr_aux: ∀L,T,A. L ⊢ T ⁝ A → ∀a,W,U. T = ⓓ{a}W. U →
                        ∃∃B. L ⊢ W ⁝ B & L. ⓓW ⊢ U ⁝ A.
 #L #T #A * -L -T -A
-[ #L #k #W #U #H destruct
-| #I #L #K #V #B #i #_ #_ #W #U #H destruct
-| #L #V #T #B #A #HV #HT #W #U #H destruct /2 width=2/
-| #L #V #T #B #A #_ #_ #W #U #H destruct
-| #L #V #T #B #A #_ #_ #W #U #H destruct
-| #L #V #T #A #_ #_ #W #U #H destruct
+[ #L #k #a #W #U #H destruct
+| #I #L #K #V #B #i #_ #_ #a #W #U #H destruct
+| #b #L #V #T #B #A #HV #HT #a #W #U #H destruct /2 width=2/
+| #b #L #V #T #B #A #_ #_ #a #W #U #H destruct
+| #L #V #T #B #A #_ #_ #a #W #U #H destruct
+| #L #V #T #A #_ #_ #a #W #U #H destruct
 ]
 qed.
 
-lemma aaa_inv_abbr: ∀L,V,T,A. L ⊢ ⓓV. T ⁝ A →
+lemma aaa_inv_abbr: ∀a,L,V,T,A. L ⊢ ⓓ{a}V. T ⁝ A →
                     ∃∃B. L ⊢ V ⁝ B & L. ⓓV ⊢ T ⁝ A.
-/2 width=3/ qed-.
+/2 width=4/ qed-.
 
-fact aaa_inv_abst_aux: ∀L,T,A. L ⊢ T ⁝ A → ∀W,U. T = ⓛW. U →
+fact aaa_inv_abst_aux: ∀L,T,A. L ⊢ T ⁝ A → ∀a,W,U. T = ⓛ{a}W. U →
                        ∃∃B1,B2. L ⊢ W ⁝ B1 & L. ⓛW ⊢ U ⁝ B2 & A = ②B1. B2.
 #L #T #A * -L -T -A
-[ #L #k #W #U #H destruct
-| #I #L #K #V #B #i #_ #_ #W #U #H destruct
-| #L #V #T #B #A #_ #_ #W #U #H destruct
-| #L #V #T #B #A #HV #HT #W #U #H destruct /2 width=5/
-| #L #V #T #B #A #_ #_ #W #U #H destruct
-| #L #V #T #A #_ #_ #W #U #H destruct
+[ #L #k #a #W #U #H destruct
+| #I #L #K #V #B #i #_ #_ #a #W #U #H destruct
+| #b #L #V #T #B #A #_ #_ #a #W #U #H destruct
+| #b #L #V #T #B #A #HV #HT #a #W #U #H destruct /2 width=5/
+| #L #V #T #B #A #_ #_ #a #W #U #H destruct
+| #L #V #T #A #_ #_ #a #W #U #H destruct
 ]
 qed.
 
-lemma aaa_inv_abst: ∀L,W,T,A. L ⊢ ⓛW. T ⁝ A →
+lemma aaa_inv_abst: ∀a,L,W,T,A. L ⊢ ⓛ{a}W. T ⁝ A →
                     ∃∃B1,B2. L ⊢ W ⁝ B1 & L. ⓛW ⊢ T ⁝ B2 & A = ②B1. B2.
-/2 width=3/ qed-.
+/2 width=4/ qed-.
 
 fact aaa_inv_appl_aux: ∀L,T,A. L ⊢ T ⁝ A → ∀W,U. T = ⓐW. U →
                        ∃∃B. L ⊢ W ⁝ B & L ⊢ U ⁝ ②B. A.
 #L #T #A * -L -T -A
 [ #L #k #W #U #H destruct
 | #I #L #K #V #B #i #_ #_ #W #U #H destruct
-| #L #V #T #B #A #_ #_ #W #U #H destruct
-| #L #V #T #B #A #_ #_ #W #U #H destruct
+| #a #L #V #T #B #A #_ #_ #W #U #H destruct
+| #a #L #V #T #B #A #_ #_ #W #U #H destruct
 | #L #V #T #B #A #HV #HT #W #U #H destruct /2 width=3/
 | #L #V #T #A #_ #_ #W #U #H destruct
 ]
@@ -111,18 +111,18 @@ lemma aaa_inv_appl: ∀L,V,T,A. L ⊢ ⓐV. T ⁝ A →
                     ∃∃B. L ⊢ V ⁝ B & L ⊢ T ⁝ ②B. A.
 /2 width=3/ qed-.
 
-fact aaa_inv_cast_aux: â\88\80L,T,A. L â\8a¢ T â\81\9d A â\86\92 â\88\80W,U. T = â\93£W. U →
+fact aaa_inv_cast_aux: â\88\80L,T,A. L â\8a¢ T â\81\9d A â\86\92 â\88\80W,U. T = â\93\9dW. U →
                        L ⊢ W ⁝ A ∧ L ⊢ U ⁝ A.
 #L #T #A * -L -T -A
 [ #L #k #W #U #H destruct
 | #I #L #K #V #B #i #_ #_ #W #U #H destruct
-| #L #V #T #B #A #_ #_ #W #U #H destruct
-| #L #V #T #B #A #_ #_ #W #U #H destruct
+| #a #L #V #T #B #A #_ #_ #W #U #H destruct
+| #a #L #V #T #B #A #_ #_ #W #U #H destruct
 | #L #V #T #B #A #_ #_ #W #U #H destruct
 | #L #V #T #A #HV #HT #W #U #H destruct /2 width=1/
 ]
 qed.
 
-lemma aaa_inv_cast: â\88\80L,W,T,A. L â\8a¢ â\93£W. T ⁝ A →
+lemma aaa_inv_cast: â\88\80L,W,T,A. L â\8a¢ â\93\9dW. T ⁝ A →
                     L ⊢ W ⁝ A ∧ L ⊢ T ⁝ A.
 /2 width=3/ qed-.