(* Inversion lemmas with context-free generic equivalence for terms *********)
fact fqu_inv_teqg_aux (S) (b):
- â\88\80G1,G2,L1,L2,T1,T2. â\9dªG1,L1,T1â\9d« â¬\82[b] â\9dªG2,L2,T2â\9d« →
+ â\88\80G1,G2,L1,L2,T1,T2. â\9d¨G1,L1,T1â\9d© â¬\82[b] â\9d¨G2,L2,T2â\9d© →
G1 = G2 → |L1| = |L2| → T1 ≛[S] T2 → ⊥.
#S #b #G1 #G2 #L1 #L2 #T1 #T2 * -G1 -G2 -L1 -L2 -T1 -T2
-[1: #I #G #L #V #_ #H elim (succ_inv_refl_sn … H)
-|6: #I #G #L #T #U #_ #_ #H elim (succ_inv_refl_sn … H)
+[1: #I #G #L #V #_ #H elim (nsucc_inv_refl … H)
+|6: #I #G #L #T #U #_ #_ #H elim (nsucc_inv_refl … H)
]
/2 width=6 by teqg_inv_pair_xy_y, teqg_inv_pair_xy_x/
qed-.
(* Basic_2A1: uses: fqu_inv_eq *)
lemma fqu_inv_teqg (S) (b):
- â\88\80G,L1,L2,T1,T2. â\9dªG,L1,T1â\9d« â¬\82[b] â\9dªG,L2,T2â\9d« →
+ â\88\80G,L1,L2,T1,T2. â\9d¨G,L1,T1â\9d© â¬\82[b] â\9d¨G,L2,T2â\9d© →
|L1| = |L2| → T1 ≛[S] T2 → ⊥.
#S #b #G #L1 #L2 #T1 #T2 #H
@(fqu_inv_teqg_aux … H) // (**) (* full auto fails *)