X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frelocation%2Ffsupq_alt.ma;h=e9bc6c533e310956ea03ae853de6cc3fbc13db9a;hb=29973426e0227ee48368d1c24dc0c17bf2baef77;hp=360972607c056fb590c5f9e7dfc6b66a9f75232b;hpb=f95f6cb21b86f3dad114b21f687aa5df36088064;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/relocation/fsupq_alt.ma b/matita/matita/contribs/lambdadelta/basic_2/relocation/fsupq_alt.ma index 360972607..e9bc6c533 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/relocation/fsupq_alt.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/relocation/fsupq_alt.ma @@ -12,40 +12,40 @@ (* *) (**************************************************************************) -include "basic_2/notation/relations/suptermoptalt_4.ma". +include "basic_2/notation/relations/suptermoptalt_6.ma". include "basic_2/relocation/fsupq.ma". (* OPTIONAL SUPCLOSURE ******************************************************) (* alternative definition of fsupq *) -definition fsupqa: bi_relation lenv term ≝ bi_RC … fsup. +definition fsupqa: tri_relation genv lenv term ≝ tri_RC … fsup. interpretation "optional structural successor (closure) alternative" - 'SupTermOptAlt L1 T1 L2 T2 = (fsupqa L1 T1 L2 T2). + 'SupTermOptAlt G1 L1 T1 G2 L2 T2 = (fsupqa G1 L1 T1 G2 L2 T2). (* Basic properties *********************************************************) -lemma fsupqa_refl: bi_reflexive … fsupqa. +lemma fsupqa_refl: tri_reflexive … fsupqa. // qed. -lemma fsupqa_ldrop: ∀K1,K2,T1,T2. ⦃K1, T1⦄ ⊃⊃⸮ ⦃K2, T2⦄ → +lemma fsupqa_ldrop: ∀G1,G2,K1,K2,T1,T2. ⦃G1, K1, T1⦄ ⊃⊃⸮ ⦃G2, K2, T2⦄ → ∀L1,d,e. ⇩[d, e] L1 ≡ K1 → - ∀U1. ⇧[d, e] T1 ≡ U1 → ⦃L1, U1⦄ ⊃⊃⸮ ⦃K2, T2⦄. -#K1 #K2 #T1 #T2 * [ /3 width=7/ ] * #H1 #H2 destruct + ∀U1. ⇧[d, e] T1 ≡ U1 → ⦃G1, L1, U1⦄ ⊃⊃⸮ ⦃G2, K2, T2⦄. +#G1 #G2 #K1 #K2 #T1 #T2 * [ /3 width=7/ ] * #H1 #H2 #H3 destruct #L1 #d #e #HLK #U1 #HTU elim (eq_or_gt e) [2: /3 width=5/ ] #H destruct >(ldrop_inv_O2 … HLK) -L1 >(lift_inv_O2 … HTU) -T2 -d // qed. (* Main properties **********************************************************) -theorem fsupq_fsupqa: ∀L1,L2,T1,T2. ⦃L1, T1⦄ ⊃⸮ ⦃L2, T2⦄ → ⦃L1, T1⦄ ⊃⊃⸮ ⦃L2, T2⦄. -#L1 #L2 #T1 #T2 #H elim H -L1 -L2 -T1 -T2 // /2 width=1/ /2 width=7/ +theorem fsupq_fsupqa: ∀G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊃⸮ ⦃G2, L2, T2⦄ → ⦃G1, L1, T1⦄ ⊃⊃⸮ ⦃G2, L2, T2⦄. +#G1 #G2 #L1 #L2 #T1 #T2 #H elim H -G1 -G2 -L1 -L2 -T1 -T2 // /2 width=1/ /2 width=7/ qed. (* Main inversion properties ************************************************) -theorem fsupqa_inv_fsupq: ∀L1,L2,T1,T2. ⦃L1, T1⦄ ⊃⊃⸮ ⦃L2, T2⦄ → ⦃L1, T1⦄ ⊃⸮ ⦃L2, T2⦄. -#L1 #L2 #T1 #T2 #H elim H -H /2 width=1/ -* #H1 #H2 destruct // +theorem fsupqa_inv_fsupq: ∀G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊃⊃⸮ ⦃G2, L2, T2⦄ → ⦃G1, L1, T1⦄ ⊃⸮ ⦃G2, L2, T2⦄. +#G1 #G2 #L1 #L2 #T1 #T2 #H elim H -H /2 width=1/ +* #H1 #H2 #H3 destruct // qed-.