X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fsyntax%2Flveq_lveq.ma;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fsyntax%2Flveq_lveq.ma;h=3d3417dba8897d7d6f9e834d9f295404ec5cb865;hb=26d2ecb945a881c61d03f3c259996374209f5d7f;hp=3f64c33b02d7ee4b753a04bcea7a060b5770dce5;hpb=b1868c5a258a6bf7fc983d63f3c417f00185e7b6;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/syntax/lveq_lveq.ma b/matita/matita/contribs/lambdadelta/basic_2/syntax/lveq_lveq.ma index 3f64c33b0..3d3417dba 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/syntax/lveq_lveq.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/syntax/lveq_lveq.ma @@ -16,131 +16,38 @@ include "basic_2/syntax/lveq_length.ma". (* EQUIVALENCE FOR LOCAL ENVIRONMENTS UP TO EXCLUSION BINDERS ***************) -(* Main forward lemmas ******************************************************) - -theorem lveq_fwd_inj_succ_zero: ∀L1,L2,n1. L1 ≋ⓧ*[⫯n1, 0] L2 → - ∀m1,m2. L1 ≋ⓧ*[m1, m2] L2 → ∃x1. ⫯x1 = m1. -#L1 #L2 #n1 #Hn #m1 #m2 #Hm -lapply (lveq_fwd_length … Hn) -Hn Hn >associative_plus -Hn #Hm -lapply (injective_plus_r … Hm) -Hm -length_bind >eq_minus_S_pred >(eq_minus_O … HL) +/3 width=4 by plus_minus, and3_intro/ +qed-. -theorem lveq_inj_void_dx: ∀K1,K2,n1,n2. K1 ≋ⓧ*[n1, n2] K2 → - ∀m1,m2. K1 ≋ⓧ*[m1, m2] K2.ⓧ → - ∧∧ n1 = m1 & ⫯n2 = m2. -/3 width=4 by lveq_inj, lveq_void_dx/ qed-. +theorem lveq_inj_void_dx_le: ∀K1,K2. |K1| ≤ |K2| → + ∀n1,n2. K1 ≋ⓧ*[n1, n2] K2 → + ∀m1,m2. K1 ≋ⓧ*[m1, m2] K2.ⓧ → + ∧∧ ⫯n2 = m2 & 0 = m1 & 0 = n1. +/3 width=5 by lveq_inj_void_sn_ge, lveq_sym/ qed-. (* auto: 2x lveq_sym *)