lemma fpb_fpbc_or_fpn: ∀h,g,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ≽[h, g] ⦃G2, L2, T2⦄ → ⦃G1, L1, T1⦄ ≻[h, g] ⦃G2, L2, T2⦄ ∨ ⦃G1, L1, T1⦄ ⊢ ➡[h,g] ⦃G2, L2, T2⦄. #h #g #G1 #G2 #L1 #L2 #T1 #T2 * -G2 -L2 -T2 /3 width=1 by and3_intro, or_intror/ [ #G2 #L2 #T2 #H elim (fquq_inv_gen … H) -H [| * ] /3 width=1 by fpbc_fqu, and3_intro, or_introl, or_intror/ | #T2 #HT12 elim (eq_term_dec T1 T2) #H destruct /4 width=1 by and3_intro, or_introl, or_intror, fpbc_cpx/ ] qed-. lemma fpb_fpbc: ∀h,g,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ≽[h, g] ⦃G2, L2, T2⦄ → (⦃G1, L1, T1⦄ ⋕ ⦃G2, L2, T2⦄ → ⊥) → ⦃G1, L1, T1⦄ ≻[h, g] ⦃G2, L2, T2⦄. #h #g #G1 #G2 #L1 #L2 #T1 #T2 #H #H0 elim (fpb_fpbc_or_fpn … H) -H // #H elim H0 -H0 /2 width=3 by fpn_fwd_bteq/ qed. lemma fpbc_fwd_bteq: ∀h,g,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ≻[h, g] ⦃G2, L2, T2⦄ → ⦃G1, L1, T1⦄ ⋕ ⦃G2, L2, T2⦄ → ⊥. #h #g #G1 #G2 #L1 #L2 #T1 #T2 * -G2 -L2 -T2 /2 width=8 by fqu_fwd_bteq/ #T2 #_ #HT12 * /2 width=1 by/ qed-.