(** *** Exercise [typing_subst_simpl]  Complete the proof of the substitution lemma stated in the form we need it.  The proof is similar to that of [typing_weakening].  HINT: You'll need to use [rewrite_env] to prepend [nil], and [simpl_env] to simplify nil away. *)

Lemma typing_subst_simple : forall (E : ctx) e u S T (z : atom),
typing ([(z,S)] ++ E) e T ->
typing E u S ->
typing E ([z ~> u] e) T.