X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fsubstitution%2Ffqu.ma;h=fa388dacabf7e3bf895b5e873f9a3d0989a6087b;hb=c60524dec7ace912c416a90d6b926bee8553250b;hp=ffc2d196545d87a8ac3047fc759cedf545877c64;hpb=f10cfe417b6b8ec1c7ac85c6ecf5fb1b3fdf37db;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/substitution/fqu.ma b/matita/matita/contribs/lambdadelta/basic_2/substitution/fqu.ma index ffc2d1965..fa388daca 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/substitution/fqu.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/substitution/fqu.ma @@ -24,8 +24,8 @@ inductive fqu: tri_relation genv lenv term ≝ | fqu_pair_sn: ∀I,G,L,V,T. fqu G L (②{I}V.T) G L V | fqu_bind_dx: ∀a,I,G,L,V,T. fqu G L (ⓑ{a,I}V.T) G (L.ⓑ{I}V) T | fqu_flat_dx: ∀I,G,L,V,T. fqu G L (ⓕ{I}V.T) G L T -| fqu_drop : ∀G,L,K,T,U,e. - ⬇[e+1] L ≡ K → ⬆[0, e+1] T ≡ U → fqu G L U G K T +| fqu_drop : ∀G,L,K,T,U,m. + ⬇[m+1] L ≡ K → ⬆[0, m+1] T ≡ U → fqu G L U G K T . interpretation @@ -34,9 +34,9 @@ interpretation (* Basic properties *********************************************************) -lemma fqu_drop_lt: ∀G,L,K,T,U,e. 0 < e → - ⬇[e] L ≡ K → ⬆[0, e] T ≡ U → ⦃G, L, U⦄ ⊐ ⦃G, K, T⦄. -#G #L #K #T #U #e #He >(plus_minus_m_m e 1) /2 width=3 by fqu_drop/ +lemma fqu_drop_lt: ∀G,L,K,T,U,m. 0 < m → + ⬇[m] L ≡ K → ⬆[0, m] T ≡ U → ⦃G, L, U⦄ ⊐ ⦃G, K, T⦄. +#G #L #K #T #U #m #Hm >(plus_minus_m_m m 1) /2 width=3 by fqu_drop/ qed. lemma fqu_lref_S_lt: ∀I,G,L,V,i. 0 < i → ⦃G, L.ⓑ{I}V, #i⦄ ⊐ ⦃G, L, #(i-1)⦄. @@ -47,9 +47,9 @@ qed. lemma fqu_fwd_fw: ∀G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2, T2⦄ → ♯{G2, L2, T2} < ♯{G1, L1, T1}. #G1 #G2 #L1 #L2 #T1 #T2 #H elim H -G1 -G2 -L1 -L2 -T1 -T2 // -#G #L #K #T #U #e #HLK #HTU +#G #L #K #T #U #m #HLK #HTU lapply (drop_fwd_lw_lt … HLK ?) -HLK // #HKL -lapply (lift_fwd_tw … HTU) -e #H +lapply (lift_fwd_tw … HTU) -m #H normalize in ⊢ (?%%); /2 width=1 by lt_minus_to_plus/ qed-. @@ -72,7 +72,7 @@ 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 normalize /2 width=4 by discr_tpair_xy_y, discr_tpair_xy_x, plus_xSy_x_false/ -#G #L #K #T #U #e #HLK #_ #_ #H #_ -G -T -U >(drop_fwd_length … HLK) in H; -L +#G #L #K #T #U #m #HLK #_ #_ #H #_ -G -T -U >(drop_fwd_length … HLK) in H; -L /2 width=4 by plus_xySz_x_false/ qed-.