(* Take-home Exercise: We've proven the above lemma very explicitly, so that you can step through it slowly to see how it works. However, with automation, it is possible to give a *much* shorter proof. Reprove this lemma on your own to see how compact you can make it. *)

(* SOLUTION *)
Lemma open_rec_lc_core_automated : forall e j v i u,
i <> j ->
{j ~> v} e = {i ~> u} ({j ~> v} e) ->
e = {i ~> u} e.