X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Fcnv_fqus.ma;h=e0a3b7215a1299a2b7ad45dbd2e9f456fb939be9;hb=1b82038aa813e24e84959526e83dd35d849b51f2;hp=113ffe922439135feabdf8d597cbd5c2d7dc69fd;hpb=dd93a0919b67bead0d4f07d49dfc198006edc9aa;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_fqus.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_fqus.ma index 113ffe922..e0a3b7215 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_fqus.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_fqus.ma @@ -20,9 +20,10 @@ include "basic_2/dynamic/cnv_drops.ma". (* Properties with supclosure ***********************************************) (* Basic_2A1: uses: snv_fqu_conf *) -lemma cnv_fqu_conf (a) (h): ∀G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2, T2⦄ → - ⦃G1, L1⦄ ⊢ T1 ![a, h] → ⦃G2, L2⦄ ⊢ T2 ![a, h]. -#a #h #G1 #G2 #L1 #L2 #T1 #T2 #H elim H -G1 -G2 -L1 -L2 -T1 -T2 +lemma cnv_fqu_conf (h) (a): + ∀G1,G2,L1,L2,T1,T2. ❨G1,L1,T1❩ ⬂ ❨G2,L2,T2❩ → + ❨G1,L1❩ ⊢ T1 ![h,a] → ❨G2,L2❩ ⊢ T2 ![h,a]. +#h #a #G1 #G2 #L1 #L2 #T1 #T2 #H elim H -G1 -G2 -L1 -L2 -T1 -T2 [ #I1 #G1 #L1 #V1 #H elim (cnv_inv_zero … H) -H #I2 #L2 #V2 #HV2 #H destruct // | * [ #p #I1 | * ] #G1 #L1 #V1 #T1 #H @@ -30,35 +31,38 @@ lemma cnv_fqu_conf (a) (h): ∀G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2 | elim (cnv_inv_appl … H) -H // | elim (cnv_inv_cast … H) -H // ] -| #p #I1 #G1 #L1 #V1 #T1 #H +| #p #I1 #G1 #L1 #V1 #T1 #_ #H elim (cnv_inv_bind … H) -H // | #p #I1 #G1 #L1 #V1 #T1 #H destruct | * #G1 #L1 #V1 #T1 #H [ elim (cnv_inv_appl … H) -H // | elim (cnv_inv_cast … H) -H // ] -| #I1 #G1 #L1 #T1 #U1 #HTU1 #HU +| #I1 #G1 #L1 #T1 #U1 #HTU1 #HU /4 width=7 by cnv_inv_lifts, drops_refl, drops_drop/ ] qed-. (* Basic_2A1: uses: snv_fquq_conf *) -lemma cnv_fquq_conf (a) (h): ∀G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐⸮ ⦃G2, L2, T2⦄ → - ⦃G1, L1⦄ ⊢ T1 ![a, h] → ⦃G2, L2⦄ ⊢ T2 ![a, h]. -#a #h #G1 #G2 #L1 #L2 #T1 #T2 #H elim H -H [|*] +lemma cnv_fquq_conf (h) (a): + ∀G1,G2,L1,L2,T1,T2. ❨G1,L1,T1❩ ⬂⸮ ❨G2,L2,T2❩ → + ❨G1,L1❩ ⊢ T1 ![h,a] → ❨G2,L2❩ ⊢ T2 ![h,a]. +#h #a #G1 #G2 #L1 #L2 #T1 #T2 #H elim H -H [|*] /2 width=5 by cnv_fqu_conf/ qed-. (* Basic_2A1: uses: snv_fqup_conf *) -lemma cnv_fqup_conf (a) (h): ∀G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐+ ⦃G2, L2, T2⦄ → - ⦃G1, L1⦄ ⊢ T1 ![a, h] → ⦃G2, L2⦄ ⊢ T2 ![a, h]. -#a #h #G1 #G2 #L1 #L2 #T1 #T2 #H @(fqup_ind … H) -G2 -L2 -T2 +lemma cnv_fqup_conf (h) (a): + ∀G1,G2,L1,L2,T1,T2. ❨G1,L1,T1❩ ⬂+ ❨G2,L2,T2❩ → + ❨G1,L1❩ ⊢ T1 ![h,a] → ❨G2,L2❩ ⊢ T2 ![h,a]. +#h #a #G1 #G2 #L1 #L2 #T1 #T2 #H @(fqup_ind … H) -G2 -L2 -T2 /3 width=5 by fqup_strap1, cnv_fqu_conf/ qed-. (* Basic_2A1: uses: snv_fqus_conf *) -lemma cnv_fqus_conf (a) (h): ∀G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐* ⦃G2, L2, T2⦄ → - ⦃G1, L1⦄ ⊢ T1 ![a, h] → ⦃G2, L2⦄ ⊢ T2 ![a, h]. -#a #h #G1 #G2 #L1 #L2 #T1 #T2 #H elim (fqus_inv_fqup … H) -H [|*] +lemma cnv_fqus_conf (h) (a): + ∀G1,G2,L1,L2,T1,T2. ❨G1,L1,T1❩ ⬂* ❨G2,L2,T2❩ → + ❨G1,L1❩ ⊢ T1 ![h,a] → ❨G2,L2❩ ⊢ T2 ![h,a]. +#h #a #G1 #G2 #L1 #L2 #T1 #T2 #H elim (fqus_inv_fqup … H) -H [|*] /2 width=5 by cnv_fqup_conf/ qed-.