X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fstatic_2%2Fstatic%2Ffeqx.ma;h=9804e73c2aa46eb7557c41b331ac42fb72f158c3;hb=e23331eef5817eaa6c5e1c442d1d6bbb18650573;hp=82867f62637bfd2626be4c8fda571ef685eca021;hpb=647504aa72b84eb49be8177b88a9254174e84d4b;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 82867f626..9804e73c2 100644 --- a/matita/matita/contribs/lambdadelta/static_2/static/feqx.ma +++ b/matita/matita/contribs/lambdadelta/static_2/static/feqx.ma @@ -12,44 +12,24 @@ (* *) (**************************************************************************) -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 -. - +(* +definition feqx: relation6 genv lenv term genv lenv term ≝ + feqg sfull. +*) interpretation "sort-irrelevant equivalence on referred entries (closure)" - 'StarEqSn G1 L1 T1 G2 L2 T2 = (feqx G1 L1 T1 G2 L2 T2). + '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_sn, 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.