proposition: Lemma fv_exp_subst_exp_upper : forall e1 e2 x1, fv_exp (subst_exp e2 x1 e1) [<=] fv_exp e2 `union` remove x1 (fv_exp e1).
proof: Proof. pose proof fv_exp_subst_exp_upper_mutual as H; intuition eauto. Qed.
imports: Coq.Logic.FunctionalExtensionality Coq.Program.Equality Metalib.Metatheory Metalib.LibLNgen Stlc