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