X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fstatic_2%2Fs_transition%2Ffqu_teqg.ma;h=07b529abe236d7a514d7fb089bd6d86237201ad1;hb=775ab35f714568dfcd672f0dd53a00e1ba7382cd;hp=bd420fd387aca234dcfd92638552ba095d91572a;hpb=b118146b97959e6a6dde18fdd014b8e1e676a2d1;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/static_2/s_transition/fqu_teqg.ma b/matita/matita/contribs/lambdadelta/static_2/s_transition/fqu_teqg.ma index bd420fd38..07b529abe 100644 --- a/matita/matita/contribs/lambdadelta/static_2/s_transition/fqu_teqg.ma +++ b/matita/matita/contribs/lambdadelta/static_2/s_transition/fqu_teqg.ma @@ -20,18 +20,18 @@ include "static_2/s_transition/fqu_length.ma". (* Inversion lemmas with context-free generic equivalence for terms *********) fact fqu_inv_teqg_aux (S) (b): - ∀G1,G2,L1,L2,T1,T2. ❪G1,L1,T1❫ ⬂[b] ❪G2,L2,T2❫ → + ∀G1,G2,L1,L2,T1,T2. ❨G1,L1,T1❩ ⬂[b] ❨G2,L2,T2❩ → G1 = G2 → |L1| = |L2| → T1 ≛[S] T2 → ⊥. #S #b #G1 #G2 #L1 #L2 #T1 #T2 * -G1 -G2 -L1 -L2 -T1 -T2 -[1: #I #G #L #V #_ #H elim (succ_inv_refl_sn … H) -|6: #I #G #L #T #U #_ #_ #H elim (succ_inv_refl_sn … H) +[1: #I #G #L #V #_ #H elim (nsucc_inv_refl … H) +|6: #I #G #L #T #U #_ #_ #H elim (nsucc_inv_refl … H) ] /2 width=6 by teqg_inv_pair_xy_y, teqg_inv_pair_xy_x/ qed-. (* Basic_2A1: uses: fqu_inv_eq *) lemma fqu_inv_teqg (S) (b): - ∀G,L1,L2,T1,T2. ❪G,L1,T1❫ ⬂[b] ❪G,L2,T2❫ → + ∀G,L1,L2,T1,T2. ❨G,L1,T1❩ ⬂[b] ❨G,L2,T2❩ → |L1| = |L2| → T1 ≛[S] T2 → ⊥. #S #b #G #L1 #L2 #T1 #T2 #H @(fqu_inv_teqg_aux … H) // (**) (* full auto fails *)