X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fetc%2Fsstas2%2Fsstas_lift.etc;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fetc%2Fsstas2%2Fsstas_lift.etc;h=0000000000000000000000000000000000000000;hb=5d669f492522b055f76c627eb89da97d0be05c2a;hp=ec6fdc0c3253d733bec705657b1c9b3c418a53df;hpb=63c047cae0056da7a69cb0740336d12259fbeb1a;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/sstas2/sstas_lift.etc b/matita/matita/contribs/lambdadelta/basic_2/etc/sstas2/sstas_lift.etc deleted file mode 100644 index ec6fdc0c3..000000000 --- a/matita/matita/contribs/lambdadelta/basic_2/etc/sstas2/sstas_lift.etc +++ /dev/null @@ -1,52 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||M|| *) -(* ||A|| A project by Andrea Asperti *) -(* ||T|| *) -(* ||I|| Developers: *) -(* ||T|| The HELM team. *) -(* ||A|| http://helm.cs.unibo.it *) -(* \ / *) -(* \ / This file is distributed under the terms of the *) -(* v GNU General Public License Version 2 *) -(* *) -(**************************************************************************) - -include "basic_2/static/ssta_lift.ma". -include "basic_2/unfold/sstas.ma". - -(* ITERATED STRATIFIED STATIC TYPE ASSIGNMENT FOR TERMS *********************) - -(* Advanced forward lemmas **************************************************) - -lemma sstas_fwd_correct: ∀h,g,G,L,T1,U1,l1. ⦃G, L⦄ ⊢ T1 •[h, g] ⦃l1, U1⦄ → - ∀T2. ⦃G, L⦄ ⊢ T1 •*[h, g] T2 → - ∃∃U2,l2. ⦃G, L⦄ ⊢ T2 •[h, g] ⦃l2, U2⦄. -#h #g #G #L #T1 #U1 #l1 #HTU1 #T2 #H @(sstas_ind … H) -T2 [ /2 width=3/ ] -HTU1 -#T #T2 #l #_ #HT2 * #U #l0 #_ -l0 -elim (ssta_fwd_correct … HT2) -T /2 width=3/ -qed-. - -(* Properties on relocation *************************************************) - -lemma sstas_lift: ∀h,g,G,L1,T1,U1. ⦃G, L1⦄ ⊢ T1 •*[h, g] U1 → - ∀L2,d,e. ⇩[d, e] L2 ≡ L1 → ∀T2. ⇧[d, e] T1 ≡ T2 → - ∀U2. ⇧[d, e] U1 ≡ U2 → ⦃G, L2⦄ ⊢ T2 •*[h, g] U2. -#h #g #G #L1 #T1 #U1 #H @(sstas_ind_dx … H) -T1 -[ #L2 #d #e #HL21 #X #HX #U2 #HU12 - >(lift_mono … HX … HU12) -X // -| #T0 #U0 #l0 #HTU0 #_ #IHU01 #L2 #d #e #HL21 #T2 #HT02 #U2 #HU12 - elim (lift_total U0 d e) /3 width=10/ -] -qed. - -(* Inversion lemmas on relocation *******************************************) - -lemma sstas_inv_lift1: ∀h,g,G,L2,T2,U2. ⦃G, L2⦄ ⊢ T2 •*[h, g] U2 → - ∀L1,d,e. ⇩[d, e] L2 ≡ L1 → ∀T1. ⇧[d, e] T1 ≡ T2 → - ∃∃U1. ⦃G, L1⦄ ⊢ T1 •*[h, g] U1 & ⇧[d, e] U1 ≡ U2. -#h #g #G #L2 #T2 #U2 #H @(sstas_ind_dx … H) -T2 /2 width=3/ -#T0 #U0 #l0 #HTU0 #_ #IHU01 #L1 #d #e #HL21 #U1 #HU12 -elim (ssta_inv_lift1 … HTU0 … HL21 … HU12) -HTU0 -HU12 #U #HU1 #HU0 -elim (IHU01 … HL21 … HU0) -IHU01 -HL21 -U0 /3 width=4/ -qed-.