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_open_tm_wrt_tm_var : forall a2 a1 x1 x2, x1 <> x2 -> lc_tm a1 -> open_tm_wrt_tm (tm_subst_tm_tm a1 x1 a2) (a_Var_f x2) = tm_subst_tm_tm a1 x1 (open_tm_wrt_tm a2 (a_Var_f x2)).