X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frelocation%2Flifts_lifts_vector.ma;h=26a4fbede90f17f51593738d9dffeff67f250d68;hp=c1a088ee5d5c77bd67ab1967232936525ccdcbbf;hb=222044da28742b24584549ba86b1805a87def070;hpb=46815bb7af06b235ead2fd67a4aee2d294b51928 diff --git a/matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_lifts_vector.ma b/matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_lifts_vector.ma index c1a088ee5..26a4fbede 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_lifts_vector.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_lifts_vector.ma @@ -20,9 +20,9 @@ include "basic_2/relocation/lifts_vector.ma". (* Main properties **********************************************************) (* Basic_1: includes: lifts_inj *) -theorem liftsv_inj: ∀T1s,Us,t. ⬆*[t] T1s ≡ Us → - ∀T2s. ⬆*[t] T2s ≡ Us → T1s = T2s. -#T1s #Us #t #H elim H -T1s -Us +theorem liftsv_inj: ∀f,T1s,Us. ⬆*[f] T1s ≘ Us → + ∀T2s. ⬆*[f] T2s ≘ Us → T1s = T2s. +#f #T1s #Us #H elim H -T1s -Us [ #T2s #H >(liftsv_inv_nil2 … H) -H // | #T1s #Us #T1 #U #HT1U #_ #IHT1Us #X #H destruct elim (liftsv_inv_cons2 … H) -H #T2 #T2s #HT2U #HT2Us #H destruct @@ -31,9 +31,9 @@ theorem liftsv_inj: ∀T1s,Us,t. ⬆*[t] T1s ≡ Us → qed-. (* Basic_2A1: includes: liftv_mono *) -theorem liftsv_mono: ∀Ts,U1s,t. ⬆*[t] Ts ≡ U1s → - ∀U2s. ⬆*[t] Ts ≡ U2s → U1s = U2s. -#Ts #U1s #t #H elim H -Ts -U1s +theorem liftsv_mono: ∀f,Ts,U1s. ⬆*[f] Ts ≘ U1s → + ∀U2s. ⬆*[f] Ts ≘ U2s → U1s = U2s. +#f #Ts #U1s #H elim H -Ts -U1s [ #U2s #H >(liftsv_inv_nil1 … H) -H // | #Ts #U1s #T #U1 #HTU1 #_ #IHTU1s #X #H destruct elim (liftsv_inv_cons1 … H) -H #U2 #U2s #HTU2 #HTU2s #H destruct @@ -43,11 +43,11 @@ qed-. (* Basic_1: includes: lifts1_xhg (right to left) *) (* Basic_2A1: includes: liftsv_liftv_trans_le *) -theorem liftsv_trans: ∀T1s,Ts,t1. ⬆*[t1] T1s ≡ Ts → ∀T2s,t2. ⬆*[t2] Ts ≡ T2s → - ∀t. t2 ⊚ t1 ≡ t → ⬆*[t] T1s ≡ T2s. -#T1s #Ts #t1 #H elim H -T1s -Ts -[ #T2s #t2 #H >(liftsv_inv_nil1 … H) -T2s /2 width=3 by liftsv_nil/ -| #T1s #Ts #T1 #T #HT1 #_ #IHT1s #X #t2 #H elim (liftsv_inv_cons1 … H) -H +theorem liftsv_trans: ∀f1,T1s,Ts. ⬆*[f1] T1s ≘ Ts → ∀T2s,f2. ⬆*[f2] Ts ≘ T2s → + ∀f. f2 ⊚ f1 ≘ f → ⬆*[f] T1s ≘ T2s. +#f1 #T1s #Ts #H elim H -T1s -Ts +[ #T2s #f2 #H >(liftsv_inv_nil1 … H) -T2s /2 width=3 by liftsv_nil/ +| #T1s #Ts #T1 #T #HT1 #_ #IHT1s #X #f2 #H elim (liftsv_inv_cons1 … H) -H #T2 #T2s #HT2 #HT2s #H destruct /3 width=6 by lifts_trans, liftsv_cons/ ] qed-.