proposition: Lemma subst_exp_open_exp_wrt_exp_var : forall e2 e1 x1 x2, x1 <> x2 -> lc_exp e1 -> open_exp_wrt_exp (subst_exp e1 x1 e2) (var_f x2) = subst_exp e1 x1 (open_exp_wrt_exp e2 (var_f x2)).
proof: Proof. intros; rewrite subst_exp_open_exp_wrt_exp; default_simp. Qed.
imports: Coq.Logic.FunctionalExtensionality Coq.Program.Equality Metalib.Metatheory Metalib.LibLNgen Stlc