inductive fsb (h): relation3 genv lenv term ≝
| fsb_intro: ∀G1,L1,T1. (
- ∀G2,L2,T2. ⦃G1, L1, T1⦄ ≻[h] ⦃G2, L2, T2⦄ → fsb h G2 L2 T2
+ ∀G2,L2,T2. ❪G1,L1,T1❫ ≻[h] ❪G2,L2,T2❫ → fsb h G2 L2 T2
) → fsb h G1 L1 T1
.
(* Basic eliminators ********************************************************)
(* Note: eliminator with shorter ground hypothesis *)
-(* Note: to be named fsb_ind when fsb becomes a definition like csx, lfsx ***)
-lemma fsb_ind_alt: ∀h. ∀Q: relation3 …. (
- ∀G1,L1,T1. ≥[h] 𝐒⦃G1, L1, T1⦄ → (
- ∀G2,L2,T2. ⦃G1, L1, T1⦄ ≻[h] ⦃G2, L2, T2⦄ → Q G2 L2 T2
- ) → Q G1 L1 T1
- ) →
- ∀G,L,T. ≥[h] 𝐒⦃G, L, T⦄ → Q G L T.
+(* Note: to be named fsb_ind when fsb becomes a definition like csx, rsx ****)
+lemma fsb_ind_alt (h) (Q:relation3 …):
+ (∀G1,L1,T1. ≥𝐒[h] ❪G1,L1,T1❫ →
+ (∀G2,L2,T2. ❪G1,L1,T1❫ ≻[h] ❪G2,L2,T2❫ → Q G2 L2 T2) →
+ Q G1 L1 T1
+ ) →
+ ∀G,L,T. ≥𝐒[h] ❪G,L,T❫ → Q G L T.
#h #Q #IH #G #L #T #H elim H -G -L -T
/4 width=1 by fsb_intro/
qed-.