X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frelocation%2Flifts.ma;h=495d5e45fa9cbddac708ae4aa0f836db860e484d;hb=384b04944ac31922ee41418b106b8e19a19ba9f0;hp=ceaca58a944a6c4884fd476b000b8f2315bebcd2;hpb=83cf6c88d2d0bd2c8af86ab7f95bf94c1ae59bc9;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 ceaca58a9..495d5e45f 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/relocation/lifts.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/relocation/lifts.ma @@ -208,6 +208,8 @@ lemma lifts_inv_flat2: ∀f:rtmap. ∀I,V2,T2,X. ⬆*[f] X ≡ ⓕ{I}V2.T2 → X = ⓕ{I}V1.T1. /2 width=3 by lifts_inv_flat2_aux/ qed-. +(* Advanced inversion lemmas ************************************************) + (* 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 @@ -241,6 +243,10 @@ lemma lifts_inv_pair_xy_y: ∀I,T,V,f. ⬆*[f] ②{I}V.T ≡ T → ⊥. ] qed-. +lemma lifts_inv_lref1_uni: ∀l,Y,i. ⬆*[l] #i ≡ Y → Y = #(l+i). +#l #Y #i1 #H elim (lifts_inv_lref1 … H) -H /4 width=4 by at_mono, eq_f/ +qed-. + (* Basic forward lemmas *****************************************************) (* Basic_2A1: includes: lift_inv_O2 *) @@ -371,6 +377,11 @@ lemma is_lifts_dec: ∀T2,f. Decidable (∃T1. ⬆*[f] T1 ≡ T2). ] qed-. +(* Properties with uniform relocation ***************************************) + +lemma lifts_uni: ∀n1,n2,T,U. ⬆*[𝐔❴n1❵∘𝐔❴n2❵] T ≡ U → ⬆*[n1+n2] T ≡ U. +/3 width=4 by lifts_eq_repl_back, after_inv_total/ qed. + (* Basic_2A1: removed theorems 14: lifts_inv_nil lifts_inv_cons lift_inv_Y1 lift_inv_Y2 lift_inv_lref_Y1 lift_inv_lref_Y2 lift_lref_Y lift_Y1