Hint Extern 1 (lc_co (g_AbsCong _ _ _)) =>
  let x1 := fresh in
  pick_fresh x1;
  apply (lc_g_AbsCong_exists x1).Hint Extern 1 (lc_co (g_CAbsCong _ _ _)) =>
  let c1 := fresh in
  pick_fresh c1;
  apply (lc_g_CAbsCong_exists c1).

Lemma tm_subst_tm_tm_spec_rec_tm_subst_tm_brs_spec_rec_tm_subst_tm_co_spec_rec_tm_subst_tm_constraint_spec_rec_mutual : (forall a1 a2 x1 n1, tm_subst_tm_tm a2 x1 a1 = open_tm_wrt_tm_rec n1 a2 (close_tm_wrt_tm_rec n1 x1 a1)) /\ (forall brs1 a1 x1 n1, tm_subst_tm_brs a1 x1 brs1 = open_brs_wrt_tm_rec n1 a1 (close_brs_wrt_tm_rec n1 x1 brs1)) /\ (forall g1 a1 x1 n1, tm_subst_tm_co a1 x1 g1 = open_co_wrt_tm_rec n1 a1 (close_co_wrt_tm_rec n1 x1 g1)) /\ (forall phi1 a1 x1 n1, tm_subst_tm_constraint a1 x1 phi1 = open_constraint_wrt_tm_rec n1 a1 (close_constraint_wrt_tm_rec n1 x1 phi1)).