X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fsyntax%2Flveq_length.ma;h=eca38567c48c93075ad6a1e1992bd00c0d4794ed;hp=ab344552272c1cd9c57b8989a5793e2c7e9e7b7e;hb=222044da28742b24584549ba86b1805a87def070;hpb=26d2ecb945a881c61d03f3c259996374209f5d7f diff --git a/matita/matita/contribs/lambdadelta/basic_2/syntax/lveq_length.ma b/matita/matita/contribs/lambdadelta/basic_2/syntax/lveq_length.ma index ab3445522..eca38567c 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/syntax/lveq_length.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/syntax/lveq_length.ma @@ -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| → - ∃∃m2. L1 ≋ ⓧ*[n1, m2] L2 & 0 = n1 & ⫯m2 = n2. + ∃∃m2. L1 ≋ ⓧ*[n1, m2] L2 & 0 = n1 & ↑m2 = 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| → - ∃∃m1. L1 ≋ ⓧ*[m1, n2] L2 & ⫯m1 = n1 & 0 = n2. + ∃∃m1. L1 ≋ ⓧ*[m1, n2] L2 & ↑m1 = 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