X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fstatic_2%2Fstatic%2Ffeqx.ma;h=055343f8544d7ba4ab09853e6001c1f17730074a;hb=bc27cc1925469ddcd2bc3cd4036a6ea8067c5da1;hp=a341e76880549692fe03d10c70943d3c83882c96;hpb=adb9ba187619cea977d1d22971eba27eb437cd6a;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/static_2/static/feqx.ma b/matita/matita/contribs/lambdadelta/static_2/static/feqx.ma index a341e7688..055343f85 100644 --- a/matita/matita/contribs/lambdadelta/static_2/static/feqx.ma +++ b/matita/matita/contribs/lambdadelta/static_2/static/feqx.ma @@ -12,41 +12,21 @@ (* *) (**************************************************************************) -include "static_2/notation/relations/stareqsn_6.ma". -include "static_2/syntax/genv.ma". +include "static_2/notation/relations/approxeqsn_6.ma". include "static_2/static/reqx.ma". +include "static_2/static/feqg.ma". (* SORT-IRRELEVANT EQUIVALENCE FOR CLOSURES ON REFERRED ENTRIES *************) -inductive feqx (G) (L1) (T1): relation3 genv lenv term ≝ -| feqx_intro_sn: ∀L2,T2. L1 ≛[T1] L2 → T1 ≛ T2 → - feqx G L1 T1 G L2 T2 -. - interpretation - "sort-irrelevant equivalence on referred entries (closure)" - 'StarEqSn G1 L1 T1 G2 L2 T2 = (feqx G1 L1 T1 G2 L2 T2). + "sort-irrelevant equivalence on referred entries (closure)" + 'ApproxEqSn G1 L1 T1 G2 L2 T2 = (feqg sfull G1 L1 T1 G2 L2 T2). (* Basic_properties *********************************************************) -lemma feqx_intro_dx (G): ∀L1,L2,T2. L1 ≛[T2] L2 → - ∀T1. T1 ≛ T2 → ⦃G,L1,T1⦄ ≛ ⦃G,L2,T2⦄. -/3 width=3 by feqx_intro_sn, teqx_reqx_div/ qed. - -(* Basic inversion lemmas ***************************************************) - -lemma feqx_inv_gen_sn: ∀G1,G2,L1,L2,T1,T2. ⦃G1,L1,T1⦄ ≛ ⦃G2,L2,T2⦄ → - ∧∧ G1 = G2 & L1 ≛[T1] L2 & T1 ≛ T2. -#G1 #G2 #L1 #L2 #T1 #T2 * -G2 -L2 -T2 /2 width=1 by and3_intro/ -qed-. - -lemma feqx_inv_gen_dx: ∀G1,G2,L1,L2,T1,T2. ⦃G1,L1,T1⦄ ≛ ⦃G2,L2,T2⦄ → - ∧∧ G1 = G2 & L1 ≛[T2] L2 & T1 ≛ T2. -#G1 #G2 #L1 #L2 #T1 #T2 * -G2 -L2 -T2 -/3 width=3 by teqx_reqx_conf, and3_intro/ -qed-. - -(* Basic_2A1: removed theorems 6: - fleq_refl fleq_sym fleq_inv_gen - fleq_trans fleq_canc_sn fleq_canc_dx -*) +lemma feqg_feqx (S) (G1) (G2) (L1) (L2) (T1) (T2): + ❪G1,L1,T1❫ ≛[S] ❪G2,L2,T2❫ → ❪G1,L1,T1❫ ≅ ❪G2,L2,T2❫. +#S #G1 #G2 #L1 #L2 #T1 #T2 #H +elim (feqg_inv_gen_sn … H) -H +/3 width=2 by feqg_intro_sn, reqg_reqx, teqg_teqx/ +qed.