]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/syntax/lveq_length.ma
renaming in basic_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / syntax / lveq_length.ma
index ab344552272c1cd9c57b8989a5793e2c7e9e7b7e..eca38567c48c93075ad6a1e1992bd00c0d4794ed 100644 (file)
@@ -46,6 +46,18 @@ lemma lveq_fwd_length: ∀L1,L2,n1,n2. L1 ≋ⓧ*[n1, n2] L2 →
 #K1 #K2 #n #_ * #H1 #H2 >length_bind /3 width=1 by minus_Sn_m, conj/
 qed-.
 
+lemma lveq_length_fwd_sn: ∀L1,L2,n1,n2. L1 ≋ⓧ*[n1, n2] L2 → |L1| ≤ |L2| → 0 = n1.
+#L1 #L2 #n1 #n2 #H #HL
+elim (lveq_fwd_length … H) -H
+>(eq_minus_O … HL) //
+qed-.
+
+lemma lveq_length_fwd_dx: ∀L1,L2,n1,n2. L1 ≋ⓧ*[n1, n2] L2 → |L2| ≤ |L1| → 0 = n2.
+#L1 #L2 #n1 #n2 #H #HL
+elim (lveq_fwd_length … H) -H
+>(eq_minus_O … HL) //
+qed-.
+
 lemma lveq_inj_length: ∀L1,L2,n1,n2. L1 ≋ⓧ*[n1, n2] L2 →
                        |L1| = |L2| → ∧∧ 0 = n1 & 0 = n2.
 #L1 #L2 #n1 #n2 #H #HL
@@ -80,7 +92,7 @@ lemma lveq_fwd_bind_abst_length_le: ∀I1,I2,L1,L2,V2,n1,n2.
 (* Inversion lemmas with length for local environments **********************)
 
 lemma lveq_inv_void_dx_length: ∀L1,L2,n1,n2. L1 ≋ⓧ*[n1, n2] L2.ⓧ → |L1| ≤ |L2| →
-                               â\88\83â\88\83m2. L1 â\89\8b â\93§*[n1, m2] L2 & 0 = n1 & â«¯m2 = n2.
+                               â\88\83â\88\83m2. L1 â\89\8b â\93§*[n1, m2] L2 & 0 = n1 & â\86\91m2 = n2.
 #L1 #L2 #n1 #n2 #H #HL12
 lapply (lveq_fwd_length_plus … H) normalize >plus_n_Sm #H0
 lapply (plus2_inv_le_sn … H0 HL12) -H0 -HL12 #H0
@@ -89,7 +101,7 @@ elim (lveq_inv_void_succ_dx … H) -H /2 width=3 by ex3_intro/
 qed-.
 
 lemma lveq_inv_void_sn_length: ∀L1,L2,n1,n2. L1.ⓧ ≋ⓧ*[n1, n2] L2 → |L2| ≤ |L1| →
-                               â\88\83â\88\83m1. L1 â\89\8b â\93§*[m1, n2] L2 & â«¯m1 = n1 & 0 = n2.
+                               â\88\83â\88\83m1. L1 â\89\8b â\93§*[m1, n2] L2 & â\86\91m1 = n1 & 0 = n2.
 #L1 #L2 #n1 #n2 #H #HL
 lapply (lveq_sym … H) -H #H
 elim (lveq_inv_void_dx_length … H HL) -H -HL