(* Basic eliminators ********************************************************)
lemma fsba_ind_alt: ∀h,g. ∀R: relation3 …. (
- â\88\80G1,L1,T1. â¦\83G1, L1â¦\84 â\8a¢ ⦥⦥[h,g] T1 → (
+ â\88\80G1,L1,T1. ⦥⦥[h,g] â¦\83G1, L1, T1â¦\84 → (
∀G2,L2,T2. ⦃G1, L1, T1⦄ >≡[h, g] ⦃G2, L2, T2⦄ → R G2 L2 T2
) → R G1 L1 T1
) →
- â\88\80G,L,T. â¦\83G, Lâ¦\84 â\8a¢ ⦥⦥[h, g] T → R G L T.
+ â\88\80G,L,T. ⦥⦥[h, g] â¦\83G, L, Tâ¦\84 → R G L T.
#h #g #R #IH #G #L #T #H elim H -G -L -T
/4 width=1 by fsba_intro/
qed-.
(* Basic properties *********************************************************)
-lemma fsba_fpbs_trans: â\88\80h,g,G1,L1,T1. â¦\83G1, L1â¦\84 â\8a¢ ⦥⦥[h, g] T1 →
- â\88\80G2,L2,T2. â¦\83G1, L1, T1â¦\84 â\89¥[h, g] â¦\83G2, L2, T2â¦\84 â\86\92 â¦\83G2, L2â¦\84 â\8a¢ ⦥⦥[h, g] T2.
+lemma fsba_fpbs_trans: â\88\80h,g,G1,L1,T1. ⦥⦥[h, g] â¦\83G1, L1, T1â¦\84 →
+ â\88\80G2,L2,T2. â¦\83G1, L1, T1â¦\84 â\89¥[h, g] â¦\83G2, L2, T2â¦\84 â\86\92 ⦥⦥[h, g] â¦\83G2, L2, T2â¦\84.
#h #g #G1 #L1 #T1 #H @(fsba_ind_alt … H) -G1 -L1 -T1
/4 width=5 by fsba_intro, fpbs_fpbg_trans/
qed-.
(* Main properties **********************************************************)
-theorem fsb_fsba: â\88\80h,g,G,L,T. â¦\83G, Lâ¦\84 â\8a¢ ⦥[h, g] T â\86\92 â¦\83G, Lâ¦\84 â\8a¢ ⦥⦥[h, g] T.
+theorem fsb_fsba: â\88\80h,g,G,L,T. ⦥[h, g] â¦\83G, L, Tâ¦\84 â\86\92 ⦥⦥[h, g] â¦\83G, L, Tâ¦\84.
#h #g #G #L #T #H @(fsb_ind_alt … H) -G -L -T
#G1 #L1 #T1 #_ #IH @fsba_intro
#G2 #L2 #T2 * /3 width=5 by fsba_fpbs_trans/
(* Main inversion lemmas ****************************************************)
-theorem fsba_inv_fsb: â\88\80h,g,G,L,T. â¦\83G, Lâ¦\84 â\8a¢ ⦥⦥[h, g] T â\86\92 â¦\83G, Lâ¦\84 â\8a¢ ⦥[h, g] T.
+theorem fsba_inv_fsb: â\88\80h,g,G,L,T. ⦥⦥[h, g] â¦\83G, L, Tâ¦\84 â\86\92 ⦥[h, g] â¦\83G, L, Tâ¦\84.
#h #g #G #L #T #H @(fsba_ind_alt … H) -G -L -T
/4 width=1 by fsb_intro, fpb_fpbg/
qed-.
(* Advanced properties ******************************************************)
-lemma fsb_fpbs_trans: â\88\80h,g,G1,L1,T1. â¦\83G1, L1â¦\84 â\8a¢ ⦥[h, g] T1 →
- â\88\80G2,L2,T2. â¦\83G1, L1, T1â¦\84 â\89¥[h, g] â¦\83G2, L2, T2â¦\84 â\86\92 â¦\83G2, L2â¦\84 â\8a¢ ⦥[h, g] T2.
+lemma fsb_fpbs_trans: â\88\80h,g,G1,L1,T1. ⦥[h, g] â¦\83G1, L1, T1â¦\84 →
+ â\88\80G2,L2,T2. â¦\83G1, L1, T1â¦\84 â\89¥[h, g] â¦\83G2, L2, T2â¦\84 â\86\92 ⦥[h, g] â¦\83G2, L2, T2â¦\84.
/4 width=5 by fsba_inv_fsb, fsb_fsba, fsba_fpbs_trans/ qed-.
(* Advanced eliminators *****************************************************)
lemma fsb_ind_fpbg: ∀h,g. ∀R:relation3 genv lenv term.
- (â\88\80G1,L1,T1. â¦\83G1, L1â¦\84 â\8a¢ ⦥[h, g] T1 →
+ (â\88\80G1,L1,T1. ⦥[h, g] â¦\83G1, L1, T1â¦\84 →
(∀G2,L2,T2. ⦃G1, L1, T1⦄ >≡[h, g] ⦃G2, L2, T2⦄ → R G2 L2 T2) →
R G1 L1 T1
) →
- â\88\80G1,L1,T1. â¦\83G1, L1â¦\84 â\8a¢ ⦥[h, g] T1 → R G1 L1 T1.
+ â\88\80G1,L1,T1. ⦥[h, g] â¦\83G1, L1, T1â¦\84 → R G1 L1 T1.
#h #g #R #IH #G1 #L1 #T1 #H @(fsba_ind_alt h g … G1 L1 T1)
/3 width=1 by fsba_inv_fsb, fsb_fsba/
qed-.