X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fsyntax%2Flveq_lveq.ma;h=40a5fb5c86152316956817fe42f548133bdcebf6;hp=3f64c33b02d7ee4b753a04bcea7a060b5770dce5;hb=222044da28742b24584549ba86b1805a87def070;hpb=b1868c5a258a6bf7fc983d63f3c417f00185e7b6 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..40a5fb5c8 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 *)