(* Properties with extended rt-computation on full local environments ******)
lemma lpxs_fpbs:
- â\88\80G,L1,L2,T. â\9dªG,L1â\9d« â\8a¢ â¬\88* L2 â\86\92 â\9dªG,L1,Tâ\9d« â\89¥ â\9dªG,L2,Tâ\9d«.
+ â\88\80G,L1,L2,T. â\9d¨G,L1â\9d© â\8a¢ â¬\88* L2 â\86\92 â\9d¨G,L1,Tâ\9d© â\89¥ â\9d¨G,L2,Tâ\9d©.
#G #L1 #L2 #T #H @(lpxs_ind_dx … H) -L2
/3 width=5 by lpx_fpb, fpbs_strap1/
qed.
lemma fpbs_lpxs_trans:
- â\88\80G1,G2,L1,L,T1,T2. â\9dªG1,L1,T1â\9d« â\89¥ â\9dªG2,L,T2â\9d« →
- â\88\80L2. â\9dªG2,Lâ\9d« â\8a¢ â¬\88* L2 â\86\92 â\9dªG1,L1,T1â\9d« â\89¥ â\9dªG2,L2,T2â\9d«.
+ â\88\80G1,G2,L1,L,T1,T2. â\9d¨G1,L1,T1â\9d© â\89¥ â\9d¨G2,L,T2â\9d© →
+ â\88\80L2. â\9d¨G2,Lâ\9d© â\8a¢ â¬\88* L2 â\86\92 â\9d¨G1,L1,T1â\9d© â\89¥ â\9d¨G2,L2,T2â\9d©.
#G1 #G2 #L1 #L #T1 #T2 #H1 #L2 #H @(lpxs_ind_dx … H) -L2
/3 width=5 by fpbs_strap1, lpx_fpb/
qed-.
lemma lpxs_fpbs_trans:
- â\88\80G1,G2,L,L2,T1,T2. â\9dªG1,L,T1â\9d« â\89¥ â\9dªG2,L2,T2â\9d« →
- â\88\80L1. â\9dªG1,L1â\9d« â\8a¢ â¬\88* L â\86\92 â\9dªG1,L1,T1â\9d« â\89¥ â\9dªG2,L2,T2â\9d«.
+ â\88\80G1,G2,L,L2,T1,T2. â\9d¨G1,L,T1â\9d© â\89¥ â\9d¨G2,L2,T2â\9d© →
+ â\88\80L1. â\9d¨G1,L1â\9d© â\8a¢ â¬\88* L â\86\92 â\9d¨G1,L1,T1â\9d© â\89¥ â\9d¨G2,L2,T2â\9d©.
#G1 #G2 #L #L2 #T1 #T2 #H1 #L1 #H @(lpxs_ind_sn … H) -L1
/3 width=5 by fpbs_strap2, lpx_fpb/
qed-.
(* Basic_2A1: uses: lpxs_lleq_fpbs *)
lemma lpxs_feqg_fpbs (S) (L):
reflexive … S → symmetric … S →
- â\88\80G1,L1,T1. â\9dªG1,L1â\9d« ⊢ ⬈* L →
- â\88\80G2,L2,T2. â\9dªG1,L,T1â\9d« â\89\9b[S] â\9dªG2,L2,T2â\9d« â\86\92 â\9dªG1,L1,T1â\9d« â\89¥ â\9dªG2,L2,T2â\9d«.
+ â\88\80G1,L1,T1. â\9d¨G1,L1â\9d© ⊢ ⬈* L →
+ â\88\80G2,L2,T2. â\9d¨G1,L,T1â\9d© â\89\9b[S] â\9d¨G2,L2,T2â\9d© â\86\92 â\9d¨G1,L1,T1â\9d© â\89¥ â\9d¨G2,L2,T2â\9d©.
/3 width=4 by lpxs_fpbs_trans, feqg_fpbs/ qed.
(* Properties with star-iterated structural successor for closures **********)
lemma fqus_lpxs_fpbs:
- â\88\80G1,G2,L1,L,T1,T2. â\9dªG1,L1,T1â\9d« â¬\82* â\9dªG2,L,T2â\9d« →
- â\88\80L2. â\9dªG2,Lâ\9d« â\8a¢ â¬\88* L2 â\86\92 â\9dªG1,L1,T1â\9d« â\89¥ â\9dªG2,L2,T2â\9d«.
+ â\88\80G1,G2,L1,L,T1,T2. â\9d¨G1,L1,T1â\9d© â¬\82* â\9d¨G2,L,T2â\9d© →
+ â\88\80L2. â\9d¨G2,Lâ\9d© â\8a¢ â¬\88* L2 â\86\92 â\9d¨G1,L1,T1â\9d© â\89¥ â\9d¨G2,L2,T2â\9d©.
/3 width=3 by fpbs_lpxs_trans, fqus_fpbs/ qed.
(* Properties with extended context-sensitive parallel rt-computation *******)
lemma cpxs_fqus_lpxs_fpbs:
- â\88\80G1,L1,T1,T. â\9dªG1,L1â\9d« ⊢ T1 ⬈* T →
- â\88\80G2,L,T2. â\9dªG1,L1,Tâ\9d« â¬\82* â\9dªG2,L,T2â\9d« →
- â\88\80L2.â\9dªG2,Lâ\9d« â\8a¢ â¬\88* L2 â\86\92 â\9dªG1,L1,T1â\9d« â\89¥ â\9dªG2,L2,T2â\9d«.
+ â\88\80G1,L1,T1,T. â\9d¨G1,L1â\9d© ⊢ T1 ⬈* T →
+ â\88\80G2,L,T2. â\9d¨G1,L1,Tâ\9d© â¬\82* â\9d¨G2,L,T2â\9d© →
+ â\88\80L2.â\9d¨G2,Lâ\9d© â\8a¢ â¬\88* L2 â\86\92 â\9d¨G1,L1,T1â\9d© â\89¥ â\9d¨G2,L2,T2â\9d©.
/3 width=5 by cpxs_fqus_fpbs, fpbs_lpxs_trans/ qed.
lemma fpbs_cpxs_teqg_fqup_lpx_trans (S):
reflexive … S → symmetric … S →
- â\88\80G1,G3,L1,L3,T1,T3. â\9dªG1,L1,T1â\9d« â\89¥ â\9dªG3,L3,T3â\9d« →
- â\88\80T4. â\9dªG3,L3â\9d« ⊢ T3 ⬈* T4 → ∀T5. T4 ≛[S] T5 →
- â\88\80G2,L4,T2. â\9dªG3,L3,T5â\9d« â¬\82+ â\9dªG2,L4,T2â\9d« →
- â\88\80L2. â\9dªG2,L4â\9d« â\8a¢ â¬\88 L2 â\86\92 â\9dªG1,L1,T1â\9d« â\89¥ â\9dªG2,L2,T2â\9d«.
+ â\88\80G1,G3,L1,L3,T1,T3. â\9d¨G1,L1,T1â\9d© â\89¥ â\9d¨G3,L3,T3â\9d© →
+ â\88\80T4. â\9d¨G3,L3â\9d© ⊢ T3 ⬈* T4 → ∀T5. T4 ≛[S] T5 →
+ â\88\80G2,L4,T2. â\9d¨G3,L3,T5â\9d© â¬\82+ â\9d¨G2,L4,T2â\9d© →
+ â\88\80L2. â\9d¨G2,L4â\9d© â\8a¢ â¬\88 L2 â\86\92 â\9d¨G1,L1,T1â\9d© â\89¥ â\9d¨G2,L2,T2â\9d©.
#S #H1S #H2S #G1 #G3 #L1 #L3 #T1 #T3 #H13 #T4 #HT34 #T5 #HT45 #G2 #L4 #T2 #H34 #L2 #HL42
@(fpbs_lpx_trans … HL42) -L2 (**) (* full auto too slow *)
@(fpbs_fqup_trans … H34) -G2 -L4 -T2
(* Basic_2A1: uses: fpbs_intro_alt *)
lemma fpbs_intro_star (S) (G) (T) (T0) (L) (L0):
reflexive … S → symmetric … S →
- â\88\80G1,L1,T1. â\9dªG1,L1â\9d« ⊢ T1 ⬈* T →
- â\9dªG1,L1,Tâ\9d« â¬\82* â\9dªG,L,T0â\9d« â\86\92 â\9dªG,Lâ\9d« ⊢ ⬈* L0 →
- â\88\80G2,L2,T2. â\9dªG,L0,T0â\9d« â\89\9b[S] â\9dªG2,L2,T2â\9d« â\86\92 â\9dªG1,L1,T1â\9d« â\89¥ â\9dªG2,L2,T2â\9d«.
+ â\88\80G1,L1,T1. â\9d¨G1,L1â\9d© ⊢ T1 ⬈* T →
+ â\9d¨G1,L1,Tâ\9d© â¬\82* â\9d¨G,L,T0â\9d© â\86\92 â\9d¨G,Lâ\9d© ⊢ ⬈* L0 →
+ â\88\80G2,L2,T2. â\9d¨G,L0,T0â\9d© â\89\9b[S] â\9d¨G2,L2,T2â\9d© â\86\92 â\9d¨G1,L1,T1â\9d© â\89¥ â\9d¨G2,L2,T2â\9d©.
/3 width=8 by cpxs_fqus_lpxs_fpbs, fpbs_strap1, feqg_fpb/ qed.
(* Advanced inversion lemmas *************************************************)
(* Basic_2A1: uses: fpbs_inv_alt *)
lemma fpbs_inv_star (S):
reflexive … S → symmetric … S → Transitive … S →
- â\88\80G1,G2,L1,L2,T1,T2. â\9dªG1,L1,T1â\9d« â\89¥ â\9dªG2,L2,T2â\9d« →
- â\88\83â\88\83G,L,L0,T,T0. â\9dªG1,L1â\9d« â\8a¢ T1 â¬\88* T & â\9dªG1,L1,Tâ\9d« â¬\82* â\9dªG,L,T0â\9d« & â\9dªG,Lâ\9d« â\8a¢ â¬\88* L0 & â\9dªG,L0,T0â\9d« â\89\9b[S] â\9dªG2,L2,T2â\9d«.
+ â\88\80G1,G2,L1,L2,T1,T2. â\9d¨G1,L1,T1â\9d© â\89¥ â\9d¨G2,L2,T2â\9d© →
+ â\88\83â\88\83G,L,L0,T,T0. â\9d¨G1,L1â\9d© â\8a¢ T1 â¬\88* T & â\9d¨G1,L1,Tâ\9d© â¬\82* â\9d¨G,L,T0â\9d© & â\9d¨G,Lâ\9d© â\8a¢ â¬\88* L0 & â\9d¨G,L0,T0â\9d© â\89\9b[S] â\9d¨G2,L2,T2â\9d©.
#S #H1S #H2S #H3S #G1 #G2 #L1 #L2 #T1 #T2 #H @(fpbs_ind_dx … H) -G1 -L1 -T1
[ /3 width=9 by feqg_refl, ex4_5_intro/
| #G1 #G0 #L1 #L0 #T1 #T0 *