(* --------------------------------------- *)

Lemma subst_rho: forall L G a A x y b rho
(T : AnnTyping G a A)
(Neq: x <> y)
(Fr: y `notin` fv_tm_tm_tm (erase_tm a))
(Fr2: y `notin` L)
(K : (forall x, x `notin` L -> RhoCheck rho x (erase_tm (open_tm_wrt_tm b (a_Var_f x))))),
RhoCheck rho y (erase_tm (open_tm_wrt_tm (tm_subst_tm_tm a x b) (a_Var_f y))).