]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/rt_transition/fpb_feqx.ma
update in staic_2 and basic_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / rt_transition / fpb_feqx.ma
index 0dac369a3473b59036defd2dd2bfb19ad0089e3b..c0e6a4b510d25d4afe4f5ef24ba8fa1978038df6 100644 (file)
@@ -21,23 +21,25 @@ include "basic_2/rt_transition/fpb_reqx.ma".
 (* Properties with degree-based equivalence for closures ********************)
 
 (* Basic_2A1: uses: fleq_fpb_trans *)
-lemma feqx_fpb_trans: ∀h,F1,F2,K1,K2,T1,T2. ⦃F1,K1,T1⦄ ≛ ⦃F2,K2,T2⦄ →
-                      ∀G2,L2,U2. ⦃F2,K2,T2⦄ ≻[h] ⦃G2,L2,U2⦄ →
-                      ∃∃G1,L1,U1. ⦃F1,K1,T1⦄ ≻[h] ⦃G1,L1,U1⦄ & ⦃G1,L1,U1⦄ ≛ ⦃G2,L2,U2⦄.
-#h #F1 #F2 #K1 #K2 #T1 #T2 * -F2 -K2 -T2
+lemma feqx_fpb_trans:
+      ∀F1,F2,K1,K2,T1,T2. ❪F1,K1,T1❫ ≛ ❪F2,K2,T2❫ →
+      ∀G2,L2,U2. ❪F2,K2,T2❫ ≻ ❪G2,L2,U2❫ →
+      ∃∃G1,L1,U1. ❪F1,K1,T1❫ ≻ ❪G1,L1,U1❫ & ❪G1,L1,U1❫ ≛ ❪G2,L2,U2❫.
+#F1 #F2 #K1 #K2 #T1 #T2 * -F2 -K2 -T2
 #K2 #T2 #HK12 #HT12 #G2 #L2 #U2 #H12
 elim (teqx_fpb_trans … HT12 … H12) -T2 #K0 #T0 #H #HT0 #HK0
 elim (reqx_fpb_trans … HK12 … H) -K2 #L0 #U0 #H #HUT0 #HLK0
 @(ex2_3_intro … H) -H (**) (* full auto too slow *)
-/4 width=3 by feqx_intro_dx, reqx_trans, teqx_reqx_conf, teqx_trans/
+/4 width=3 by feqx_intro_dx, reqx_trans, teqx_reqx_conf_sn, teqx_trans/
 qed-.
 
 (* Inversion lemmas with degree-based equivalence for closures **************)
 
 (* Basic_2A1: uses: fpb_inv_fleq *)
-lemma fpb_inv_feqx: ∀h,G1,G2,L1,L2,T1,T2. ⦃G1,L1,T1⦄ ≻[h] ⦃G2,L2,T2⦄ →
-                    ⦃G1,L1,T1⦄ ≛ ⦃G2,L2,T2⦄ → ⊥.
-#h #G1 #G2 #L1 #L2 #T1 #T2 * -G2 -L2 -T2
+lemma fpb_inv_feqx:
+      ∀G1,G2,L1,L2,T1,T2. ❪G1,L1,T1❫ ≻ ❪G2,L2,T2❫ →
+      ❪G1,L1,T1❫ ≛ ❪G2,L2,T2❫ → ⊥.
+#G1 #G2 #L1 #L2 #T1 #T2 * -G2 -L2 -T2
 [ #G2 #L2 #T2 #H12 #H elim (feqx_inv_gen_sn … H) -H
   /3 width=11 by reqx_fwd_length, fqu_inv_teqx/
 | #T2 #_ #HnT #H elim (feqx_inv_gen_sn … H) -H /2 width=1 by/