X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Fsubstitution%2Fprelift_label.ma;h=be57d860180a561ba424518e904d247acca207d1;hb=5c2d38b46908f662cbb717156b29101ff30f8352;hp=e4a9c0596c7ba79d887f94a20ce4c1731003b100;hpb=3af42b8f2cb1956eed14edcc0adb9df92601f248;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/substitution/prelift_label.ma b/matita/matita/contribs/lambdadelta/delayed_updating/substitution/prelift_label.ma index e4a9c0596..be57d8601 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/substitution/prelift_label.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/substitution/prelift_label.ma @@ -14,13 +14,13 @@ include "delayed_updating/notation/functions/uparrow_2.ma". include "delayed_updating/syntax/label.ma". -include "ground/relocation/tr_pap.ma". +include "ground/relocation/tr_pap_pap.ma". (* PRELIFT FOR LABEL ********************************************************) definition prelift_label (f) (l): label ≝ match l with -[ label_d n ⇒ 𝗱(f@⧣❨n❩) +[ label_d k ⇒ 𝗱(f@⧣❨k❩) | label_m ⇒ 𝗺 | label_L ⇒ 𝗟 | label_A ⇒ 𝗔 @@ -33,8 +33,8 @@ interpretation (* Basic constructions ******************************************************) -lemma prelift_label_d (f) (n): - (𝗱(f@⧣❨n❩)) = ↑[f]𝗱n. +lemma prelift_label_d (f) (k): + (𝗱(f@⧣❨k❩)) = ↑[f]𝗱k. // qed. lemma prelift_label_m (f): @@ -52,3 +52,76 @@ lemma prelift_label_A (f): lemma prelift_label_S (f): (𝗦) = ↑[f]𝗦. // qed. + +(* Basic inversions *********************************************************) + +lemma prelift_label_inv_d_sn (f) (l) (k1): + (𝗱k1) = ↑[f]l → + ∃∃k2. k1 = f@⧣❨k2❩ & 𝗱k2 = l. +#f * [ #k ] #k1 +[ (tr_pap_inj ???? Hk) -Hk // +| <(prelift_label_inv_m_sn … Hl) -l2 // +| <(prelift_label_inv_L_sn … Hl) -l2 // +| <(prelift_label_inv_A_sn … Hl) -l2 // +| <(prelift_label_inv_S_sn … Hl) -l2 // +] +qed-.