X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frelocation%2Flifts.ma;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frelocation%2Flifts.ma;h=be42c0ebfa4d1742cd0bf70f57d2062b9dffa9b5;hb=926796df5884453d8f0cf9f294d7776d469ef45b;hp=a621b819fb65603678c42c64bae4845f5c23e592;hpb=e06774421eb3b8f4438a6876cc1ab4262ef16f6e;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/relocation/lifts.ma b/matita/matita/contribs/lambdadelta/basic_2/relocation/lifts.ma index a621b819f..be42c0ebf 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/relocation/lifts.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/relocation/lifts.ma @@ -210,6 +210,28 @@ lemma lifts_inv_flat2: ∀f:rtmap. ∀I,V2,T2,X. ⬆*[f] X ≡ ⓕ{I}V2.T2 → (* Advanced inversion lemmas ************************************************) +lemma lifts_inv_atom1: ∀f,I,Y. ⬆*[f] ⓪{I} ≡ Y → + ∨∨ ∃∃s. I = Sort s & Y = ⋆s + | ∃∃i,j. @⦃i, f⦄ ≡ j & I = LRef i & Y = #j + | ∃∃l. I = GRef l & Y = §l. +#f * #n #Y #H +[ lapply (lifts_inv_sort1 … H) +| elim (lifts_inv_lref1 … H) +| lapply (lifts_inv_gref1 … H) +] -H /3 width=5 by or3_intro0, or3_intro1, or3_intro2, ex3_2_intro, ex2_intro/ +qed-. + +lemma lifts_inv_atom2: ∀f,I,X. ⬆*[f] X ≡ ⓪{I} → + ∨∨ ∃∃s. X = ⋆s & I = Sort s + | ∃∃i,j. @⦃i, f⦄ ≡ j & X = #i & I = LRef j + | ∃∃l. X = §l & I = GRef l. +#f * #n #X #H +[ lapply (lifts_inv_sort2 … H) +| elim (lifts_inv_lref2 … H) +| lapply (lifts_inv_gref2 … H) +] -H /3 width=5 by or3_intro0, or3_intro1, or3_intro2, ex3_2_intro, ex2_intro/ +qed-. + (* Basic_2A1: includes: lift_inv_pair_xy_x *) lemma lifts_inv_pair_xy_x: ∀f,I,V,T. ⬆*[f] ②{I}V.T ≡ V → ⊥. #f #J #V elim V -V @@ -249,14 +271,6 @@ qed-. (* Basic forward lemmas *****************************************************) -lemma lifts_fwd_atom2: ∀f,I,X. ⬆*[f] X ≡ ⓪{I} → ∃J. X = ⓪{J}. -#f * #n #X #H -[ lapply (lifts_inv_sort2 … H) -| elim (lifts_inv_lref2 … H) -| lapply (lifts_inv_gref2 … H) -] -H /2 width=2 by ex_intro/ -qed-. - (* Basic_2A1: includes: lift_inv_O2 *) lemma lifts_fwd_isid: ∀f,T1,T2. ⬆*[f] T1 ≡ T2 → 𝐈⦃f⦄ → T1 = T2. #f #T1 #T2 #H elim H -f -T1 -T2