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

(* ---------------------------------- *)
Lemma ann_rho_swap : forall rho x x0 a,
x `notin` fv_tm_tm_tm (erase_tm a) ->
x0 `notin` fv_tm_tm_tm (erase_tm a) ->
RhoCheck rho x (erase_tm (open_tm_wrt_tm a (a_Var_f x))) ->
RhoCheck rho x0 (erase_tm (open_tm_wrt_tm a (a_Var_f x0))).