(** *** Take-home Exercise [subst_intro] *)
(** This lemma states that opening can be replaced with variable opening and substitution.  HINT: Prove by induction on [e], first generalizing the argument to [open_rec] by using the [generalize] tactic, e.g., [generalize 0].  *)

(* Specifications: *)
Lemma subst_intro : forall (x : atom) u e,
x `notin` (fv e) ->
open e u = [x ~> u](open e x).