X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_transition%2Ffpb.ma;h=5b0c68c2a6f563bcf0897e602ad61f5f96294023;hb=bd53c4e895203eb049e75434f638f26b5a161a2b;hp=39de38ce21434ddf6cebec8a7cd6c830be86d743;hpb=b3afed9fd3cc38ecd4578f6b0741be50872a2828;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/fpb.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/fpb.ma index 39de38ce2..5b0c68c2a 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/fpb.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/fpb.ma @@ -12,31 +12,30 @@ (* *) (**************************************************************************) -include "basic_2/notation/relations/predsubtyproper_8.ma". -include "basic_2/s_transition/fqu.ma". -include "basic_2/static/lfdeq.ma". -include "basic_2/rt_transition/lfpr_lfpx.ma". +include "basic_2/notation/relations/predsubtyproper_7.ma". +include "static_2/s_transition/fqu.ma". +include "static_2/static/reqx.ma". +include "basic_2/rt_transition/lpr_lpx.ma". (* PROPER PARALLEL RST-TRANSITION FOR CLOSURES ******************************) -inductive fpb (h) (o) (G1) (L1) (T1): relation3 genv lenv term ≝ -| fpb_fqu : ∀G2,L2,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2, T2⦄ → fpb h o G1 L1 T1 G2 L2 T2 -| fpb_cpx : ∀T2. ⦃G1, L1⦄ ⊢ T1 ⬈[h] T2 → (T1 ≛[h, o] T2 → ⊥) → fpb h o G1 L1 T1 G1 L1 T2 -| fpb_lfpx: ∀L2. ⦃G1, L1⦄ ⊢ ⬈[h, T1] L2 → (L1 ≛[h, o, T1] L2 → ⊥) → fpb h o G1 L1 T1 G1 L2 T1 +inductive fpb (h) (G1) (L1) (T1): relation3 genv lenv term ≝ +| fpb_fqu: ∀G2,L2,T2. ❪G1,L1,T1❫ ⬂ ❪G2,L2,T2❫ → fpb h G1 L1 T1 G2 L2 T2 +| fpb_cpx: ∀T2. ❪G1,L1❫ ⊢ T1 ⬈[h] T2 → (T1 ≛ T2 → ⊥) → fpb h G1 L1 T1 G1 L1 T2 +| fpb_lpx: ∀L2. ❪G1,L1❫ ⊢ ⬈[h] L2 → (L1 ≛[T1] L2 → ⊥) → fpb h G1 L1 T1 G1 L2 T1 . interpretation "proper parallel rst-transition (closure)" - 'PRedSubTyProper h o G1 L1 T1 G2 L2 T2 = (fpb h o G1 L1 T1 G2 L2 T2). + 'PRedSubTyProper h G1 L1 T1 G2 L2 T2 = (fpb h G1 L1 T1 G2 L2 T2). (* Basic properties *********************************************************) (* Basic_2A1: includes: cpr_fpb *) -lemma cpm_fpb: ∀n,h,o,G,L,T1,T2. ⦃G, L⦄ ⊢ T1 ➡[n, h] T2 → (T1 ≛[h, o] T2 → ⊥) → - ⦃G, L, T1⦄ ≻[h, o] ⦃G, L, T2⦄. +lemma cpm_fpb (n) (h) (G) (L): ∀T1,T2. ❪G,L❫ ⊢ T1 ➡[n,h] T2 → (T1 ≛ T2 → ⊥) → + ❪G,L,T1❫ ≻[h] ❪G,L,T2❫. /3 width=2 by fpb_cpx, cpm_fwd_cpx/ qed. -(* Basic_2A1: includes: lpr_fpb *) -lemma lfpr_fpb: ∀h,o,G,L1,L2,T. ⦃G, L1⦄ ⊢ ➡[h, T] L2 → (L1 ≛[h, o, T] L2 → ⊥) → - ⦃G, L1, T⦄ ≻[h, o] ⦃G, L2, T⦄. -/3 width=1 by fpb_lfpx, lfpr_fwd_lfpx/ qed. +lemma lpr_fpb (h) (G) (T): ∀L1,L2. ❪G,L1❫ ⊢ ➡[h] L2 → (L1 ≛[T] L2 → ⊥) → + ❪G,L1,T❫ ≻[h] ❪G,L2,T❫. +/3 width=1 by fpb_lpx, lpr_fwd_lpx/ qed.