Qed.

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