(* Properties on lazy equivalence for closures ******************************)
-lemma fpbg_fleq_trans: â\88\80h,o,G1,G,L1,L,T1,T. â¦\83G1, L1, T1â¦\84 >â\89¡[h, o] ⦃G, L, T⦄ →
- â\88\80G2,L2,T2. â¦\83G, L, Tâ¦\84 â\89¡[0] â¦\83G2, L2, T2â¦\84 â\86\92 â¦\83G1, L1, T1â¦\84 >â\89¡[h, o] ⦃G2, L2, T2⦄.
+lemma fpbg_fleq_trans: â\88\80h,o,G1,G,L1,L,T1,T. â¦\83G1, L1, T1â¦\84 >â\89\9b[h, o] ⦃G, L, T⦄ →
+ â\88\80G2,L2,T2. â¦\83G, L, Tâ¦\84 â\89¡[0] â¦\83G2, L2, T2â¦\84 â\86\92 â¦\83G1, L1, T1â¦\84 >â\89\9b[h, o] ⦃G2, L2, T2⦄.
/3 width=5 by fpbg_fpbq_trans, fleq_fpbq/ qed-.
-lemma fleq_fpbg_trans: â\88\80h,o,G,G2,L,L2,T,T2. â¦\83G, L, Tâ¦\84 >â\89¡[h, o] ⦃G2, L2, T2⦄ →
- â\88\80G1,L1,T1. â¦\83G1, L1, T1â¦\84 â\89¡[0] â¦\83G, L, Tâ¦\84 â\86\92 â¦\83G1, L1, T1â¦\84 >â\89¡[h, o] ⦃G2, L2, T2⦄.
+lemma fleq_fpbg_trans: â\88\80h,o,G,G2,L,L2,T,T2. â¦\83G, L, Tâ¦\84 >â\89\9b[h, o] ⦃G2, L2, T2⦄ →
+ â\88\80G1,L1,T1. â¦\83G1, L1, T1â¦\84 â\89¡[0] â¦\83G, L, Tâ¦\84 â\86\92 â¦\83G1, L1, T1â¦\84 >â\89\9b[h, o] ⦃G2, L2, T2⦄.
#h #o #G #G2 #L #L2 #T #T2 * #G0 #L0 #T0 #H0 #H02 #G1 #L1 #T1 #H1
elim (fleq_fpb_trans … H1 … H0) -G -L -T
/4 width=9 by fpbs_strap2, fleq_fpbq, ex2_3_intro/
qed.
lemma fpbg_fwd_fpbs: ∀h,o,G1,G2,L1,L2,T1,T2.
- â¦\83G1, L1, T1â¦\84 >â\89¡[h,o] ⦃G2, L2, T2⦄ → ⦃G1, L1, T1⦄ ≥[h, o] ⦃G2, L2, T2⦄.
+ â¦\83G1, L1, T1â¦\84 >â\89\9b[h,o] ⦃G2, L2, T2⦄ → ⦃G1, L1, T1⦄ ≥[h, o] ⦃G2, L2, T2⦄.
#h #o #G1 #G2 #L1 #L2 #T1 #T2 *
/3 width=5 by fpbs_strap2, fpb_fpbq/
qed-.
lemma fpbs_fpbg: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ≥[h, o] ⦃G2, L2, T2⦄ →
⦃G1, L1, T1⦄ ≡[0] ⦃G2, L2, T2⦄ ∨
- â¦\83G1, L1, T1â¦\84 >â\89¡[h, o] ⦃G2, L2, T2⦄.
+ â¦\83G1, L1, T1â¦\84 >â\89\9b[h, o] ⦃G2, L2, T2⦄.
#h #o #G1 #G2 #L1 #L2 #T1 #T2 #H @(fpbs_ind … H) -G2 -L2 -T2
[ /2 width=1 by or_introl/
| #G #G2 #L #L2 #T #T2 #_ #H2 * #H1 @(fpbq_ind_alt … H2) -H2 #H2