X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fs_transition%2Ffqu_length.ma;h=467283ff1f6975a9fd6f0ec26db748b22aac0b88;hp=9719388a5d527c2eb2a30ba9f8544fbce8058bc9;hb=222044da28742b24584549ba86b1805a87def070;hpb=93bba1c94779e83184d111cd077d4167e42a74aa diff --git a/matita/matita/contribs/lambdadelta/basic_2/s_transition/fqu_length.ma b/matita/matita/contribs/lambdadelta/basic_2/s_transition/fqu_length.ma index 9719388a5..467283ff1 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/s_transition/fqu_length.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/s_transition/fqu_length.ma @@ -12,35 +12,20 @@ (* *) (**************************************************************************) -include "basic_2/grammar/lenv_length.ma". +include "basic_2/syntax/lenv_length.ma". include "basic_2/s_transition/fqu.ma". (* SUPCLOSURE ***************************************************************) (* Forward lemmas with length for local environments ************************) -fact fqu_fwd_length_lref1_aux: ∀G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2, T2⦄ → +fact fqu_fwd_length_lref1_aux: ∀b,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐[b] ⦃G2, L2, T2⦄ → ∀i. T1 = #i → |L2| < |L1|. -#G1 #G2 #L1 #L2 #T1 #T2 #H elim H -G1 -G2 -L1 -L2 -T1 -T2 // [2: #p] -#I #G #L #V #T #j #H destruct +#b #G1 #G2 #L1 #L2 #T1 #T2 #H elim H -G1 -G2 -L1 -L2 -T1 -T2 // [2,3: #p] +#I #G #L #V #T [2: #_ ] #j #H destruct qed-. -lemma fqu_fwd_length_lref1: ∀G1,G2,L1,L2,T2,i. ⦃G1, L1, #i⦄ ⊐ ⦃G2, L2, T2⦄ → +lemma fqu_fwd_length_lref1: ∀b,G1,G2,L1,L2,T2,i. ⦃G1, L1, #i⦄ ⊐[b] ⦃G2, L2, T2⦄ → |L2| < |L1|. -/2 width=7 by fqu_fwd_length_lref1_aux/ +/2 width=8 by fqu_fwd_length_lref1_aux/ qed-. - -(* Inversion lemmas with length for local environments **********************) - -fact fqu_inv_eq_aux: ∀G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2, T2⦄ → - G1 = G2 → |L1| = |L2| → T1 = T2 → ⊥. -#G1 #G2 #L1 #L2 #T1 #T2 * -G1 -G2 -L1 -L2 -T1 -T2 -[1: #I #G #L #V #_ #H elim (succ_inv_refl_sn … H) -|5: #I #G #L #V #T #U #_ #_ #H elim (succ_inv_refl_sn … H) -] -/2 width=4 by discr_tpair_xy_y, discr_tpair_xy_x/ -qed-. - -lemma fqu_inv_eq: ∀G,L1,L2,T. ⦃G, L1, T⦄ ⊐ ⦃G, L2, T⦄ → |L1| = |L2| → ⊥. -#G #L1 #L2 #T #H #H0 @(fqu_inv_eq_aux … H … H0) // (**) (* full auto fails *) -qed-.