]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/substitution/lift_neg.ma
- revision of ground_2 and basic_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / substitution / lift_neg.ma
index ba97d5c54cb91a4333c60e1dc7f31228931e6cac..6c797befb7d0d3a3ecdecc75b11c231a66c7b5b3 100644 (file)
@@ -18,49 +18,50 @@ include "basic_2/substitution/lift.ma".
 
 (* Properties on negated basic relocation ***********************************)
 
-lemma nlift_lref_be_SO: â\88\80X,i. â\87§[i, 1] X ≡ #i → ⊥.
-/2 width=7 by lift_inv_lref2_be/ qed-.
+lemma nlift_lref_be_SO: â\88\80X,i. â¬\86[yinj i, 1] X ≡ #i → ⊥.
+/3 width=7 by lift_inv_lref2_be, ylt_inj/ qed-.
 
-lemma nlift_bind_sn: ∀W,d,e. (∀V. ⇧[d, e] V ≡ W → ⊥) →
-                     â\88\80a,I,U. (â\88\80X. â\87§[d, e] X ≡ ⓑ{a,I}W.U → ⊥).
-#W #d #e #HW #a #I #U #X #H elim (lift_inv_bind2 … H) -H /2 width=2 by/
+lemma nlift_bind_sn: ∀W,l,m. (∀V. ⬆[l, m] V ≡ W → ⊥) →
+                     â\88\80a,I,U. (â\88\80X. â¬\86[l, m] X ≡ ⓑ{a,I}W.U → ⊥).
+#W #l #m #HW #a #I #U #X #H elim (lift_inv_bind2 … H) -H /2 width=2 by/
 qed-.
 
-lemma nlift_bind_dx: ∀U,d,e. (∀T. ⇧[d+1, e] T ≡ U → ⊥) →
-                     â\88\80a,I,W. (â\88\80X. â\87§[d, e] X ≡ ⓑ{a,I}W.U → ⊥).
-#U #d #e #HU #a #I #W #X #H elim (lift_inv_bind2 … H) -H /2 width=2 by/
+lemma nlift_bind_dx: ∀U,l,m. (∀T. ⬆[⫯l, m] T ≡ U → ⊥) →
+                     â\88\80a,I,W. (â\88\80X. â¬\86[l, m] X ≡ ⓑ{a,I}W.U → ⊥).
+#U #l #m #HU #a #I #W #X #H elim (lift_inv_bind2 … H) -H /2 width=2 by/
 qed-.
 
-lemma nlift_flat_sn: ∀W,d,e. (∀V. ⇧[d, e] V ≡ W → ⊥) →
-                     â\88\80I,U. (â\88\80X. â\87§[d, e] X ≡ ⓕ{I}W.U → ⊥).
-#W #d #e #HW #I #U #X #H elim (lift_inv_flat2 … H) -H /2 width=2 by/
+lemma nlift_flat_sn: ∀W,l,m. (∀V. ⬆[l, m] V ≡ W → ⊥) →
+                     â\88\80I,U. (â\88\80X. â¬\86[l, m] X ≡ ⓕ{I}W.U → ⊥).
+#W #l #m #HW #I #U #X #H elim (lift_inv_flat2 … H) -H /2 width=2 by/
 qed-.
 
-lemma nlift_flat_dx: ∀U,d,e. (∀T. ⇧[d, e] T ≡ U → ⊥) →
-                     â\88\80I,W. (â\88\80X. â\87§[d, e] X ≡ ⓕ{I}W.U → ⊥).
-#U #d #e #HU #I #W #X #H elim (lift_inv_flat2 … H) -H /2 width=2 by/
+lemma nlift_flat_dx: ∀U,l,m. (∀T. ⬆[l, m] T ≡ U → ⊥) →
+                     â\88\80I,W. (â\88\80X. â¬\86[l, m] X ≡ ⓕ{I}W.U → ⊥).
+#U #l #m #HU #I #W #X #H elim (lift_inv_flat2 … H) -H /2 width=2 by/
 qed-.
 
 (* Inversion lemmas on negated basic relocation *****************************)
 
-lemma nlift_inv_lref_be_SO: ∀i,j. (∀X. ⇧[i, 1] X ≡ #j → ⊥) → j = i.
+lemma nlift_inv_lref_be_SO: ∀i,j. (∀X. ⬆[i, 1] X ≡ #j → ⊥) → yinj j = i.
+* [2: #j #H elim H -H // ]
 #i #j elim (lt_or_eq_or_gt i j) // #Hij #H
-[ elim (H (#(j-1))) -H /2 width=1 by lift_lref_ge_minus/
-| elim (H (#j)) -H /2 width=1 by lift_lref_lt/
+[ elim (H (#(j-1))) -H /3 width=1 by lift_lref_ge_minus, yle_inj/
+| elim (H (#j)) -H /3 width=1 by lift_lref_lt, ylt_inj/
 ]
 qed-.
 
-lemma nlift_inv_bind: ∀a,I,W,U,d,e. (∀X. ⇧[d, e] X ≡ ⓑ{a,I}W.U → ⊥) →
-                      (â\88\80V. â\87§[d, e] V â\89¡ W â\86\92 â\8a¥) â\88¨ (â\88\80T. â\87§[d+1, e] T ≡ U → ⊥).
-#a #I #W #U #d #e #H elim (is_lift_dec W d e)
+lemma nlift_inv_bind: ∀a,I,W,U,l,m. (∀X. ⬆[l, m] X ≡ ⓑ{a,I}W.U → ⊥) →
+                      (â\88\80V. â¬\86[l, m] V â\89¡ W â\86\92 â\8a¥) â\88¨ (â\88\80T. â¬\86[⫯l, m] T ≡ U → ⊥).
+#a #I #W #U #l #m #H elim (is_lift_dec W l m)
 [ * /4 width=2 by lift_bind, or_intror/
 | /4 width=2 by ex_intro, or_introl/
 ]
 qed-.
 
-lemma nlift_inv_flat: ∀I,W,U,d,e. (∀X. ⇧[d, e] X ≡ ⓕ{I}W.U → ⊥) →
-                      (â\88\80V. â\87§[d, e] V â\89¡ W â\86\92 â\8a¥) â\88¨ (â\88\80T. â\87§[d, e] T ≡ U → ⊥).
-#I #W #U #d #e #H elim (is_lift_dec W d e)
+lemma nlift_inv_flat: ∀I,W,U,l,m. (∀X. ⬆[l, m] X ≡ ⓕ{I}W.U → ⊥) →
+                      (â\88\80V. â¬\86[l, m] V â\89¡ W â\86\92 â\8a¥) â\88¨ (â\88\80T. â¬\86[l, m] T ≡ U → ⊥).
+#I #W #U #l #m #H elim (is_lift_dec W l m)
 [ * /4 width=2 by lift_flat, or_intror/
 | /4 width=2 by ex_intro, or_introl/
 ]