proposition: Lemma subst_exp_fresh : forall e2 e1 x1 x2, x1 `notin` fv_exp e2 -> x1 `notin` fv_exp e1 -> x1 `notin` fv_exp (subst_exp e1 x2 e2).
proof: Proof. pose proof subst_exp_fresh_mutual as H; intuition eauto. Qed.
imports: Coq.Logic.FunctionalExtensionality Coq.Program.Equality Metalib.Metatheory Metalib.LibLNgen Stlc