(* Advanced forward lemmas **************************************************)
lemma fpbg_fwd_fpbs: ∀h,G1,G2,L1,L2,T1,T2.
- â¦\83G1,L1,T1â¦\84 >[h] â¦\83G2,L2,T2â¦\84 â\86\92 â¦\83G1,L1,T1â¦\84 â\89¥[h] â¦\83G2,L2,T2â¦\84.
+ â\9dªG1,L1,T1â\9d« >[h] â\9dªG2,L2,T2â\9d« â\86\92 â\9dªG1,L1,T1â\9d« â\89¥[h] â\9dªG2,L2,T2â\9d«.
#h #G1 #G2 #L1 #L2 #T1 #T2 *
/3 width=5 by fpbs_strap2, fpb_fpbq/
qed-.
(* Advanced properties with sort-irrelevant equivalence on closures *********)
(* Basic_2A1: uses: fleq_fpbg_trans *)
-lemma feqx_fpbg_trans: â\88\80h,G,G2,L,L2,T,T2. â¦\83G,L,Tâ¦\84 >[h] â¦\83G2,L2,T2â¦\84 →
- â\88\80G1,L1,T1. â¦\83G1,L1,T1â¦\84 â\89\9b â¦\83G,L,Tâ¦\84 â\86\92 â¦\83G1,L1,T1â¦\84 >[h] â¦\83G2,L2,T2â¦\84.
+lemma feqx_fpbg_trans: â\88\80h,G,G2,L,L2,T,T2. â\9dªG,L,Tâ\9d« >[h] â\9dªG2,L2,T2â\9d« →
+ â\88\80G1,L1,T1. â\9dªG1,L1,T1â\9d« â\89\9b â\9dªG,L,Tâ\9d« â\86\92 â\9dªG1,L1,T1â\9d« >[h] â\9dªG2,L2,T2â\9d«.
#h #G #G2 #L #L2 #T #T2 * #G0 #L0 #T0 #H0 #H02 #G1 #L1 #T1 #H1
elim (feqx_fpb_trans … H1 … H0) -G -L -T
/4 width=9 by fpbs_strap2, fpbq_feqx, ex2_3_intro/
(* Properties with parallel proper rst-reduction on closures ****************)
lemma fpb_fpbg_trans: ∀h,G1,G,G2,L1,L,L2,T1,T,T2.
- â¦\83G1,L1,T1â¦\84 â\89»[h] â¦\83G,L,Tâ¦\84 â\86\92 â¦\83G,L,Tâ¦\84 >[h] â¦\83G2,L2,T2â¦\84 →
- â¦\83G1,L1,T1â¦\84 >[h] â¦\83G2,L2,T2â¦\84.
+ â\9dªG1,L1,T1â\9d« â\89»[h] â\9dªG,L,Tâ\9d« â\86\92 â\9dªG,L,Tâ\9d« >[h] â\9dªG2,L2,T2â\9d« →
+ â\9dªG1,L1,T1â\9d« >[h] â\9dªG2,L2,T2â\9d«.
/3 width=5 by fpbg_fwd_fpbs, ex2_3_intro/ qed-.
(* Properties with parallel rst-reduction on closures ***********************)
lemma fpbq_fpbg_trans: ∀h,G1,G,G2,L1,L,L2,T1,T,T2.
- â¦\83G1,L1,T1â¦\84 â\89½[h] â¦\83G,L,Tâ¦\84 â\86\92 â¦\83G,L,Tâ¦\84 >[h] â¦\83G2,L2,T2â¦\84 →
- â¦\83G1,L1,T1â¦\84 >[h] â¦\83G2,L2,T2â¦\84.
+ â\9dªG1,L1,T1â\9d« â\89½[h] â\9dªG,L,Tâ\9d« â\86\92 â\9dªG,L,Tâ\9d« >[h] â\9dªG2,L2,T2â\9d« →
+ â\9dªG1,L1,T1â\9d« >[h] â\9dªG2,L2,T2â\9d«.
#h #G1 #G #G2 #L1 #L #L2 #T1 #T #T2 #H1 #H2
elim (fpbq_inv_fpb … H1) -H1
/2 width=5 by feqx_fpbg_trans, fpb_fpbg_trans/
(* Properties with parallel rst-compuutation on closures ********************)
-lemma fpbs_fpbg_trans: â\88\80h,G1,G,L1,L,T1,T. â¦\83G1,L1,T1â¦\84 â\89¥[h] â¦\83G,L,Tâ¦\84 →
- â\88\80G2,L2,T2. â¦\83G,L,Tâ¦\84 >[h] â¦\83G2,L2,T2â¦\84 â\86\92 â¦\83G1,L1,T1â¦\84 >[h] â¦\83G2,L2,T2â¦\84.
+lemma fpbs_fpbg_trans: â\88\80h,G1,G,L1,L,T1,T. â\9dªG1,L1,T1â\9d« â\89¥[h] â\9dªG,L,Tâ\9d« →
+ â\88\80G2,L2,T2. â\9dªG,L,Tâ\9d« >[h] â\9dªG2,L2,T2â\9d« â\86\92 â\9dªG1,L1,T1â\9d« >[h] â\9dªG2,L2,T2â\9d«.
#h #G1 #G #L1 #L #T1 #T #H @(fpbs_ind … H) -G -L -T /3 width=5 by fpbq_fpbg_trans/
qed-.
(* Advanced properties with plus-iterated structural successor for closures *)
lemma fqup_fpbg_trans (h):
- â\88\80G1,G,L1,L,T1,T. â¦\83G1,L1,T1â¦\84 â¬\82+ â¦\83G,L,Tâ¦\84 →
- â\88\80G2,L2,T2. â¦\83G,L,Tâ¦\84 >[h] â¦\83G2,L2,T2â¦\84 â\86\92 â¦\83G1,L1,T1â¦\84 >[h] â¦\83G2,L2,T2â¦\84.
+ â\88\80G1,G,L1,L,T1,T. â\9dªG1,L1,T1â\9d« â¬\82+ â\9dªG,L,Tâ\9d« →
+ â\88\80G2,L2,T2. â\9dªG,L,Tâ\9d« >[h] â\9dªG2,L2,T2â\9d« â\86\92 â\9dªG1,L1,T1â\9d« >[h] â\9dªG2,L2,T2â\9d«.
/3 width=5 by fpbs_fpbg_trans, fqup_fpbs/ qed-.
(* Advanced inversion lemmas of parallel rst-computation on closures ********)
(* Basic_2A1: was: fpbs_fpbg *)
-lemma fpbs_inv_fpbg: â\88\80h,G1,G2,L1,L2,T1,T2. â¦\83G1,L1,T1â¦\84 â\89¥[h] â¦\83G2,L2,T2â¦\84 →
- â\88¨â\88¨ â¦\83G1,L1,T1â¦\84 â\89\9b â¦\83G2,L2,T2â¦\84
- | â¦\83G1,L1,T1â¦\84 >[h] â¦\83G2,L2,T2â¦\84.
+lemma fpbs_inv_fpbg: â\88\80h,G1,G2,L1,L2,T1,T2. â\9dªG1,L1,T1â\9d« â\89¥[h] â\9dªG2,L2,T2â\9d« →
+ â\88¨â\88¨ â\9dªG1,L1,T1â\9d« â\89\9b â\9dªG2,L2,T2â\9d«
+ | â\9dªG1,L1,T1â\9d« >[h] â\9dªG2,L2,T2â\9d«.
#h #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
(* Advanced properties of parallel rst-computation on closures **************)
-lemma fpbs_fpb_trans: â\88\80h,F1,F2,K1,K2,T1,T2. â¦\83F1,K1,T1â¦\84 â\89¥[h] â¦\83F2,K2,T2â¦\84 →
- â\88\80G2,L2,U2. â¦\83F2,K2,T2â¦\84 â\89»[h] â¦\83G2,L2,U2â¦\84 →
- â\88\83â\88\83G1,L1,U1. â¦\83F1,K1,T1â¦\84 â\89»[h] â¦\83G1,L1,U1â¦\84 & â¦\83G1,L1,U1â¦\84 â\89¥[h] â¦\83G2,L2,U2â¦\84.
+lemma fpbs_fpb_trans: â\88\80h,F1,F2,K1,K2,T1,T2. â\9dªF1,K1,T1â\9d« â\89¥[h] â\9dªF2,K2,T2â\9d« →
+ â\88\80G2,L2,U2. â\9dªF2,K2,T2â\9d« â\89»[h] â\9dªG2,L2,U2â\9d« →
+ â\88\83â\88\83G1,L1,U1. â\9dªF1,K1,T1â\9d« â\89»[h] â\9dªG1,L1,U1â\9d« & â\9dªG1,L1,U1â\9d« â\89¥[h] â\9dªG2,L2,U2â\9d«.
#h #F1 #F2 #K1 #K2 #T1 #T2 #H elim (fpbs_inv_fpbg … H) -H
[ #H12 #G2 #L2 #U2 #H2 elim (feqx_fpb_trans … H12 … H2) -F2 -K2 -T2
/3 width=5 by feqx_fpbs, ex2_3_intro/