(* --------------------------------------- *)
(* Convenience lemmas for working with substitution. *)

Lemma AnnTyping_tm_subst_nondep : forall L G a A b B,
AnnTyping G a A ->
(forall x, x `notin` L -> AnnTyping ([(x,Tm A)] ++ G) (open_tm_wrt_tm b (a_Var_f x)) B) ->
AnnTyping G (open_tm_wrt_tm b a) B.